【问题标题】:LINQ context SubmitChangesLINQ 上下文提交更改
【发布时间】:2011-01-13 17:16:54
【问题描述】:

关于 SubmitChanges 顺序(插入、更新、删除),有没有办法更改该顺序?我需要先执行删除,然后执行任何更新,然后执行任何新插入。我有一个数据网格,用户可以在其中进行所有添加、更改和更新并提交。由于每个网格行必须选择一个唯一的项目(通过下拉菜单),用户可以删除该行,然后尝试在新行中使用已删除的下拉项目,然后尝试更新所有更改并拥有更新失败(因为用户想要删除的项目实际上仍然存在于数据库中,因为提交首先进行插入)。是否有可以控制自动更新顺序的设置,还是我必须自己手动进行更新?

【问题讨论】:

    标签: linq submitchanges


    【解决方案1】:

    我没有尝试过,但你可以考虑以下。首先,使用DataContext.ChangeSet 获取ChangeSet。然后,在DataContext 的新实例上运行ChangeSet.Deletes 调用Table<T>.DeleteOnSubmit。对ChangeSet.Updates 和ChangeSet.Inserts 重复冲洗。

    祝你好运。

    【讨论】:

      【解决方案2】:

      我不相信这样做是可能的。您必须按您想要的顺序处理更改,并在每次插入、更新或删除后调用 SubmitChanges()。如果您希望整个事物都在事务范围内,请使用 TransactionScope 对象。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多