【发布时间】:2014-06-19 09:40:02
【问题描述】:
我有一个实体列表,当某些实体发生变化时,我只需执行以下操作:
DBContext.SaveChanges();
所有修改都会保存。
但是现在我必须在某些实体发生更改时执行一些业务逻辑(并且仅针对已更改的实体)并且需要找到那些更改的实体。但我似乎无法做到这一点。
我看到了这个帖子:Entity Framework 5 - Why is Entity State "Modified" after PropertyValue is set back to Original
有人检查.EntityState 属性...。
但是我的实体没有这个属性。
作为最后的手段,我可以在我的模型级别上使用 INotifyPropertyChanged,但如果 EF5 能让我知道该实体的状态,那就太好了。
【问题讨论】:
-
您使用的是实体还是 POCO?就其本质而言,POCO 不会有状态,除非您创建/设置属性来维护状态。但是,您可以设置您的代码,以便您的 POCO 成为代理,在这种情况下,它们将具有状态并且当您的链接变得相关时。我们需要更多信息来提供进一步帮助。此外,如果您有分层架构,请注意跨边界传递代理/实体在分离/序列化等时可能会出现问题。
-
嗯,......所有模型类+映射都是手动创建的......不确定它是否称为poco,必须查找它。
标签: c# entity-framework entity-framework-5