.net 保持一个;参考资料;对行对象执行长时间

.net 保持一个;参考资料;对行对象执行长时间,.net,linq,linq-to-sql,.net-3.5,.net,Linq,Linq To Sql,.net 3.5,在我的应用程序中,我保留了一个从数据库获取的LINQ对象,并定期修改它,然后修改db.SubmitChanges() 我已经读到,您不应该在DataContext对象周围停留很长时间。 但是如果在修改之间关闭我的DataContext,我猜数据对象将丢失到实际数据库行的链接 保持DataContext打开的最佳替代方案是什么?我真的必须在每次更新该行时重新加载它吗?当您要更新该行时,重新加载该行不会对性能造成太大影响,而且它将保证您正在更新该行的最新版本(以防自您第一次打开该行后,其他用户/进程

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

我已经读到,您不应该在
DataContext
对象周围停留很长时间。 但是如果在修改之间关闭我的
DataContext
,我猜数据对象将丢失到实际数据库行的链接


保持DataContext打开的最佳替代方案是什么?我真的必须在每次更新该行时重新加载它吗?

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


如果您不知道其他任何东西会更新该行,那么您可能可以保留DataContext而不会出现太多问题(除非与数据库的连接丢失)。

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

由于并发性问题,由于比较过多,默认Linq UPDATE语句不是最佳的。查看SQL分析器或使用LINQSQL可视化工具

//安迪