使用DataContext静态变量

Mid*_*hat 4 asp.net datacontext linq-to-sql

我最近使用Linq2SQL继承了一个ASP.Net应用程序.目前,它的DataContext对象在每个页面中都声明为static,我在第一次发现它们为null(singleton,sort of)时创建它们.

如果好或坏,我需要评论.在我只需要从DB读取的情况下以及我需要写入的情况下.

如何为整个应用程序只安装一个DataContext实例?

Ode*_*ode 6

我担心,每个应用程序的一个DataContext会表现不佳.对于初学者来说,DataContext不是线程安全的,因此即使使用一个作为页面的静态成员也是一个坏主意.正如asgerhallas所提到的,将上下文用于工作单元是理想的 - 通常是单个请求.还有其他任何东西,你会开始发现你的所有数据都在内存中,如果没有明确的刷新,你就不会看到更新.以下是与这两个主题相关的几篇帖子:身份地图工作单元