实体框架 - 跟踪非虚拟财产的更改

时间:2016-03-14 11:21:05

标签: c# entity-framework proxy

我正在写作,因为目前我正在尝试在示例类上实现对象更改跟踪。我开始使用代理,这种方法符合我的需求。 定义方法和属性定义为虚拟的类,然后代理创建适合我。

但除此之外,我真的很好奇Entity Framework(使用代码优先方法)如何设法跟踪对象的更改,其中属性未定义为虚拟。

我确实理解创建代理(没有定义接口; ef不要求)是不可能的。那么EF如何跟踪变化?如果我是对的并且无法创建代理,那么它是如何工作的?

它是否在保存操作时将对象状态与数据库进行比较,还是进行更改?

感谢您的回复!

1 个答案:

答案 0 :(得分:0)

对象在上下文之后有2个状态副本。它也用于乐观并发。

修改
这意味着,Entity将我修改的对象与属性的属性进行比较。