如果我修改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')? – Slauma
是的,他們是虛擬的。 – Rookian
我認爲這是因爲你實際上沒有「重置」價值,而是「重新設置」它。除非每次檢查未修改的值,否則EF如何知道它已更改回原始值? –