2011-12-02 71 views
1

我们正在利用EF更改跟踪来触发某些事件。例如,如果个人实体的电子邮件地址发生变化,我们可以发送电子邮件给管理员或其他类似的东西。如何在更新时检测分离实体的单独属性更改?

我想知道是否有一种简单的方法可以调用类似CheckForChangesOnAttach(entity)的查询数据库的当前数据,并与分离的实体进行比较以将某些属性设置为更新。看起来像是一些不应该太难以做的事情,除了附加大型的分离实体图,这就是为什么我想知道是否有像内置的东西(我们先使用代码,顺便说一句)。

我们的系统对分离的实体没有太大的作用,所以99%的时间我们不需要类似的东西,所以我不太关心性能。

+0

我认为另一种方法比这里更好。而不是通过电线发送整个修改的对象图,为什么不发送增量?在这种情况下,你甚至不需要生成DTO类。如果您对此有任何意见,请让我们讨论http://stackoverflow.com/questions/1344066/calculate-object-delta。 – HappyNomad

回答

2

是的,有这样的选项为单一实体(必须通过键加载实体并在其ObjectSet称之为ApplyCurrentValues - 这将推动新的值从脱离实体附着一个),但有no option for object graphs - 你必须推出自己的解决方案对象图。

+0

谢谢!并感谢您彻底回答了许多其他EF问题。我遇到了很多帮助我的东西。 – Ocelot20