代码之家  ›  专栏  ›  技术社区  ›  Bjarke Ebert

长时间保持对行对象的“引用”

  •  0
  • Bjarke Ebert  · 技术社区  · 16 年前

    在我的应用程序中,我保留从数据库中提取的Linq对象,并定期修改它,然后 db.SubmitChanges() .

    我读到你不应该在 DataContext 很长一段时间。 但如果我关闭我的 数据上下文 在修改之间,我猜数据对象会失去与实际数据库行的链接。

    保持数据上下文打开的最佳选择是什么?每次更新行时是否确实需要重新加载该行?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Andy    16 年前

    否则,您可以对数据库执行直接的SQL查询,以使更新尽可能快。

    由于并发性问题,由于过多的比较,默认的LINQ UPDATE语句不是最理想的。查看SQL事件探查器或使用LinqSQL可视化工具。

    安迪

        2
  •  0
  •   gfrizzle    16 年前

    重新加载要更新的行不会对性能造成太大影响,而且它将确保您正在更新该行的最新版本(以防另一个用户/进程在您首次打开该行后对其进行了修改)。

    如果您不知道还有其他任何内容将更新该行,那么您可以保留DataContext而不会出现任何问题(除非与数据库失去连接)。