Entity Framework 4.1 Отслеживание родительских / дочерних объектов без STE - PullRequest
0 голосов
/ 06 марта 2012

Я раскрыл POCO-сущности DBContext для работы с фреймами сущностей в WCF (без включенного отслеживания) и через моего клиента, когда я пытаюсь обновить комбинацию Parent и связанных entieis.Обновляется только родительская сущность, но дочерняя сущность не обновляется.

Я пытаюсь что-то вроде ... У клиента есть одна или несколько сущностей адреса клиента.В моем клиенте я добавил новый адрес клиента, удалил существующий адрес клиента, обновил существующий адрес клиента и изменил некоторые вещи в объекте клиента.Теперь я хочу обновить эти изменения за один раз.

В настоящее время он обновляет только клиента и игнорирует остальных.

У меня сложилось впечатление, что с EF 4.1 возможность отслеживания изменений имеетбыл улучшен, и мы можем добиться этого с помощью STE (сущности самопроверки).Мое предположение правильно?Возможно ли это с DBContext?Любая помощь или направления?

1 Ответ

1 голос
/ 06 марта 2012

Нет.EF отслеживание изменений отслеживает изменения только для прикрепленного объекта.Если вы сериализуете сущность и отправляете ее в другое место, она больше не отслеживается.Это становится отдельным сценарием, и вы несете ответственность за сообщение EF, какие изменения произошли на вашем клиенте WCF.Если вы просто присоединяете сущность и устанавливаете родительское состояние на измененное, оно будет делать именно это - оно будет обновлять только родитель, потому что вы не сказали ему, что что-то еще изменилось.

Так что либо отправьте дополнительную информацию от клиента оизмененные сущности и установите каждую сущность или отношение в правильное состояние перед сохранением изменений или загрузкой текущего состояния (текущего родителя и потомков) из базы данных и слияние его с состоянием, полученным от клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...