Я работаю над приложением, которое использует Entity Framework 4.0 (и насколько я знаю, мы не можем его изменить).Как глубоко клон/копировать и сущность в сущности Framework 4.0?
Мне нужно сделать глубокие копии объекта, в случае, когда пользователи выбирают и объекты, он получит полную копию, назначенную ему, со всеми свойствами навигации и всеми созданными.
Я знаю, что в сущности framework 4.1 и более поздней версии я мог бы использовать de AsNoTracking, а затем просто добавить его, но я не знаю, как это сделать в инфраструктуре сущностей 4.0. Есть ли простой способ?
Редактировать: Благодаря тому, что @PanagiotisKanavos сказал, что я понял, что я действительно хотел отделить сущность. Это отчасти решить мою проблему, но не укомплектовать, делая:
ctx.Set.Detach(entity)
Частный объект, но я потерял все ассоциации, так что любая идея, как Отделите остальную часть ассоциации графа?
Update: После долгих экспериментов я бежал из идей, я пытался глубокий клон, и detatch, но когда я добавляю я и даю мне исключение.
Если я только отсоединяю, я теряю все ассоциации, так что любая идея?
Это может быть полезно http://stackoverflow.com/questions/5249633/deep-clone-using-entity -framework – dmigo
Глубокое клонирование не имеет ничего общего с Entity Framework или базами данных, это касается только объектов. Он также не будет создавать никаких * новых * записей, поскольку идентификаторы объектов останутся неизменными. Это приведет только к обновлению существующих записей –
Является ли актуальным вопрос, как отсоединить объекты в EF 4? Для этого вам не нужно 'AsNoTracking', вы можете использовать' ObjectContext.Detach' для всех связанных объектов –