开发者

Getting the real State of SelfTracking Entities, including Navigation Properties

I would like to change the display of objects if they have unsaved changes. I thought I could just use ChangeTracker.State, but that doesn't change to Modified if I c开发者_开发问答hange a Navigation Property.

For example, a Contact object contains Navigation Properties for Phones, Addresses, and Emails. If I change the Contact's Name, the state will change to Modified but changing a Phone leaves the object's state Unchanged.


State associated with a single entity doesn't reflect state of the object graph. How do you expect it should work? It would result in setting all entities to modified once anything in the graph changes because everything is somehow related to each other.

You can subscribe ObjectStateChanging events of your change trackers and be notified about changes in the graph.


Everything is in the ChangeTracker.

You need to look at:

  • State
  • ObjectsAddedToCollection
  • ObjectsRemovedFromCollection
  • OriginalValues

You might also want to look at ExtendedProperties if you're generating your model without Foreign Key IDs and you have no repopulation policy in practice when you deserialize the STE.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜