我有一个实体列表,当某些实体发生变化时,我只需执行以下操作:
DBContext.SaveChanges();
并保存所有修改。
但是现在我必须在某些实体被更改时执行一些业务逻辑(并且仅针对那些已更改的实体)并且需要找到那些已更改的实体。但我似乎无法做到这一点。
我发现了这篇文章:Entity Framework 5 - Why is Entity State "Modified" after PropertyValue is set back to Original
有人检查.EntityState
属性....
但是我的实体没有这个属性。
作为最后的手段,我可以在我的模型级别上使用INotifyPropertyChanged
,但如果EF5让我知道该实体的状态会很好。
答案 0 :(得分:6)
要检查实体的状态,请使用以下命令:
DbEntityEntry entry = Context.Entry(entity); //where Context is DbContext or derived
// entry.State is available here