【发布时间】:2013-01-07 16:07:39
【问题描述】:
假设我有 3 个从 EF 生成的实体,例如 tab1、tab2 和 tab3。在 SL 应用程序中,我调用 SubmitChanges 将数据保存到 DB,所有更改将由 WCF 和 EF 自动处理。
问题是:如何知道数据库中更新操作的顺序?
我需要知道这一点,因为我在这些表上有触发器并且需要知道更新的顺序。
【问题讨论】:
-
如果触发器正在修改与 EF 相同的实体,则它们可能不会很好地配合使用。您应该考虑删除触发器并在 .NET 中重新实现该代码。我们在上下文中覆盖 SaveChanges 方法并在那里运行类似触发器的逻辑。
-
谢谢。从遗留系统触发,我不想在 .NET 代码中实现它,因为这会导致很多问题。
-
操作顺序是内部 EF 行为 = 您无法可靠地知道将使用什么操作顺序。
-
@KentZhou 正如拉迪斯拉夫所说,你真的不知道使用了什么顺序。您最好的选择是在每次插入后调用 SubmitChanges。
-
我遇到了类似的问题,我需要控制更新的执行顺序,但找不到任何答案。解决方法是单独提交更改以按我需要的顺序更新表格。
标签: silverlight entity-framework wcf-ria-services silverlight-5.0 entity-framework-5