Tworzę oprogramowanie, w którym użytkownik może stworzyć nowy produkt na podstawie starszego produktu.Klonowanie danych w Entity Framework
Teraz muszę wykonać kopiujące/klonujące operacje z Entity Framework. Najpierw zacząłem pisać tak:
foreach(sourcedata1 in table1) { ... create new table ... copy data ... create Guid ... add foreach(sourcedata2 in table2) { ... create new table ... copy data ... create Guid ... add ... and so on } }
Problem polega na tym, że nie jest to dobry sposób na zrobienie tego. Czy istnieje jakaś łatwa informacja o klonie (z wyjątkiem Guid, która musi zostać wygenerowana dla nowych wierszy) lub czy powinienem ręcznie skopiować wszystko?
Inne rozwiązanie
Można również użyć EmitMapper lub AutoMapper zrobić kopiowanie właściwości.
Wydaje się, że nie ma ładniejsze rozwiązanie, więc ja przyjmuję to jako odpowiedź :) – Tx3
@ TX3 Jeżeli którykolwiek z odpowiedziami dodawanych później dostarczają więcej o uprzejmość, czego szukasz, nie krępuj aby zaktualizować zaakceptowaną odpowiedź. :-) –
Dostarczone rozwiązanie [tutaj] (http://stackoverflow.com/a/15322430/159341) wydaje się być znacznie czystsze. Używanie 'AsNoTracking()' do zwracania odłączonego obiektu, który może zostać ponownie dodany, co tworzy nowy obiekt po zapisaniu kontekstu. – Tr1stan