【发布时间】:2011-11-30 18:17:24
【问题描述】:
如果我修改了 POCO 实体的属性,但重置它,EntityFramework 仍然会说有更改。
Property "Name": Value "Test" (original value)
-> Value "Test123" (value changed by UI)
-> Value "Test" (value changed by UI to original value)
已修改的条目:
var objectStateEntries =
_db.ObjectStateManager.GetObjectStateEntries(
EntityState.Added |
EntityState.Deleted |
EntityState.Modified);
你如何处理这个案子?
【问题讨论】:
-
您的 POCO 实体是动态代理吗(=所有属性都是
virtual)? -
我认为这是因为您实际上并没有“重置”该值,而是“重新设置”了它。 EF 如何知道它已更改回原始值,除非它在每次更改值时检查未修改的值?
标签: c# entity-framework entity-framework-4 change-tracking objectstatemanager