Получение реального состояния объектов SelfTracking, включая свойства навигации - PullRequest
1 голос
/ 06 июня 2011

Я хотел бы изменить отображение объектов, если они имеют несохраненные изменения.Я думал, что могу просто использовать ChangeTracker.State, но это не изменится на Изменено, если я изменю Свойство навигации.

Например, объект «Контакт» содержит свойства навигации для телефонов, адресов и электронных писем.Если я изменю имя контакта, состояние изменится на Изменено, но при изменении телефона состояние объекта останется неизменным.

Ответы [ 2 ]

1 голос
/ 06 июня 2011

Состояние, связанное с одной сущностью, не отражает состояние графа объекта.Как вы ожидаете, что это должно работать?Это приведет к тому, что все сущности будут изменены, как только что-нибудь в графике изменится, потому что все как-то связано друг с другом.

Вы можете подписаться ObjectStateChanging на события ваших трекеров изменений и получать уведомления об изменениях в графике.

0 голосов
/ 06 июня 2011

Все в ChangeTracker.

Вам нужно посмотреть на:

  • Состояние
  • ObjectsAddedToCollection
  • ObjectsRemovedFromCollection
  • OriginalValues ​​

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

...