如何检测1个实体框架对象的更改

use*_*243 1 c# entity-framework entity-framework-5

我有一个实体列表,当一些实体改变时,我只需执行以下操作:

DBContext.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

并保存所有修改.

但是现在我必须在某些实体被更改时(并且仅针对那些已更改的实体)执行一些业务逻辑,并且需要找到那些已更改的实体.但我似乎无法做到这一点.

我遇到过这篇文章:实体框架5 - 为什么在PropertyValue设置回原始状态后实体状态为"已修改"

有人检查.EntityState财产....

但我的实体没有这个属性.

作为最后的手段,我可​​以INotifyPropertyChanged在我的模型级别上使用,但如果EF5让我知道该实体的状态会很好.

小智 5

要检查实体的状态,请使用以下命令:

DbEntityEntry entry = Context.Entry(entity); //where Context is DbContext or derived

// entry.State is available here
Run Code Online (Sandbox Code Playgroud)