Как обнаружить отдельные изменения свойств для отдельных объектов при обновлении? - PullRequest
1 голос
/ 02 декабря 2011

Мы используем отслеживание изменений EF для запуска определенных событий. Например, если физическое лицо изменило адрес электронной почты, мы можем отправить электронное письмо администратору или что-то в этом роде.

Мне интересно, есть ли простой способ вызвать что-то вроде CheckForChangesOnAttach(entity), которое будет запрашивать в БД текущие данные и сравнивать с отсоединенной сущностью, чтобы установить определенные свойства как обновленные. Похоже, что-то, что не должно быть слишком сложно сделать самому, кроме прикрепления больших графов отдельных сущностей, поэтому я задаюсь вопросом, есть ли что-то подобное во встроенном (мы сначала используем код, кстати).

Наша система мало что делает с отсоединенными объектами, поэтому в 99% случаев нам не нужно что-то подобное, поэтому я не слишком беспокоюсь о производительности.

1 Ответ

2 голосов
/ 02 декабря 2011

Да, есть такая опция для отдельной сущности (вы должны загрузить сущность по ключу и вызвать ApplyCurrentValues на ее ObjectSet - она ​​будет выдвигать новые значения из отсоединенной сущности в присоединенную), но нет опциидля графов объектов - вы должны выбрать собственное решение для графов объектов.

...