【问题标题】:Linq SubmitChanges() function - when to call?Linq SubmitChanges() 函数 - 何时调用?
【发布时间】:2010-09-01 10:20:53
【问题描述】:

当使用 Linq 操作数据时,SubmitChanges() 方法需要多久调用一次?

在我的项目中,有几个表与外键相关。在创建 SQL 中,这些外键受到约束,因此如果不先删除依赖记录,就无法删除属于关系的记录。

因此,需要删除关系中的记录有一个特定的顺序。我是否必须删除每条记录,并且每次都在数据库上执行 SubmitChanges() 函数,还是可以一次执行所有删除?

编辑:我的主要问题是:在 SubmitChanges() 上删除记录的顺序是否与在代码中删除它们的顺序相同?

【问题讨论】:

    标签: linq submitchanges


    【解决方案1】:

    您应该尝试尽可能少地调用它,但是当您插入和删除有效替换实体时,Linq2SQL 存在一个已知问题。在这些情况下,最好在删除和后续插入之后尽快调用它。

    这是我不久前问过的similar question

    【讨论】:

    • 所以可以一次性删除所有相关记录,并且在SubmitChanges()上删除的顺序和我在程序中输入的顺序是一样的吗?
    • @Greg:不,顺序由 DataContext 确定。通常,插入->更新->删除(我相信您可以看到问题)。
    【解决方案2】:

    如果您需要批量删除,例如单个事务,您应该只在标记所有要删除的对象后调用一次 SubmitChanges 方法。

    【讨论】:

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