什么更好:重用System.Data.Linq.DataContext上下文或尽快处理它

本文关键字:上下文 处理 DataContext Linq 更好 重用 System Data 什么 | 更新日期: 2023-09-27 18:05:32

如果我使用SqlConnection,显然最佳实践是尽快处理它,并让连接池处理细节。当我使用System.Data.Linq.DataContext时,我应该遵循相同的模式吗?

我应该创建我的上下文一次并将其传递给我的方法,还是我应该从我的配置文件中获得连接字符串并多次创建上下文并保存传递参数?

编辑:一个关于身份映射的有用链接:架构LINQ To SQL应用程序,第7部分

什么更好:重用System.Data.Linq.DataContext上下文或尽快处理它

应该只在执行操作所需的时间内保留数据上下文。

这样做的原因是它使用了一种叫做Identity Map的东西,因此每次选择customer 1时都会得到相同的对象。这意味着它持有大量引用,并且随着时间的推移将消耗越来越多的内存,这些结果将变得越来越陈旧。

在web应用程序的情况下,通常为每个请求创建一个,并且DataContext类被优化为快速创建。