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

时间:2014-06-19 09:40:02

标签: c# entity-framework entity-framework-5

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

DBContext.SaveChanges();

并保存所有修改。

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

我发现了这篇文章:Entity Framework 5 - Why is Entity State "Modified" after PropertyValue is set back to Original

有人检查.EntityState属性....

但是我的实体没有这个属性。

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

1 个答案:

答案 0 :(得分:6)

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

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

// entry.State is available here