检测实体框架对象是否已更改

7
我想检查一个实体对象是否已更改(包括其任何子项是否已修改)。
我正在使用Entity Framework 4.4。
我的代码基本上从数据库中加载对象,并将值应用于一些属性(但它们可能与原始值相同)。
我知道可以检查entityObject.EntityState,但如果子项有更改,它会更新吗,还是我需要循环遍历对象中的所有子项?
这是因为如果有更改,我需要运行一堆其他代码(比如向用户发送电子邮件警报等),指出值已经更新,但如果它们没有被更新,我不想运行那段代码。

EntityState 指的是该实体本身 - 而不是所有子实体。如果您需要知道实体或其任何子级是否已修改,则需要遍历子级树并检查每个子实体的 EntityState 属性。 - marc_s
我本来希望避免这种情况,因为如果我添加另一个表,我可能会忘记遍历它。有没有一种方法可以获取所有子项,以便我可以编写通用方法,即使模式在后期更改,也可以遍历它们? - DermFrench
1
也许可以使用递归来实现? - walther
被Gert Arnold标记为重复 - 如果您不链接到重复项,那对任何人都没有用处,Gert。 - David
3
Gert Arnold,您将此标记为重复项,但它并不是重复的。
  • 此问题:一个对象是否被更改
  • 其他问题:是否有任何对象被更改
- Dave de Jong
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接