2013-10-07 64 views
1

我想检查一个实体对象是否发生了变化(包括是否有任何子对象已被修改)。我使用的是实体框架4.4检测实体框架对象是否发生了变化

我的代码基本上从数据库中加载对象并将值应用于某些属性(但它们可能与原始数据相同)。

我知道我可以检查entityObject.EntityState,但是如果孩子有变化,或者是否需要遍历对象中的所有孩子,它会更新吗?

这是因为如果它有我需要运行一大堆其他代码(如发送电子邮件警报给用户和东西说价值已更新,但我不想运行该代码,如果他们尚未更新)。

+0

“EntityState”仅指**该实体**而不是其所有子项。如果您需要知道该实体或其任何子项是否已被修改,则需要遍历子树,并检查每个子实体的EntityState属性, –

+0

我希望避免这种情况,就像我添加另一张桌子我可能忘记穿过那张桌子。有没有办法让所有的孩子都可以写出一个通用的方法,即使在后期的模式更改时也能遍历它们? – DermFrench

+1

嗯,也许通过使用递归? – walther

回答

相关问题