我只是继承了具有以下成员基类的ASP.NET应用程序MVC4:保护基类的静态
protected static DBMainDataContext m_dataContext = new DBMainDataContext();
这个基类是其他两个类,无论使用LINQ来读取数据继承来自数据库。这个基类有一个静态数据上下文的事实,这是否构成一个问题?由于DataReader已打开,因此我们似乎正在获取DataReader无法访问的错误。这可能是为什么?如果是的话,应该如何申报?我只是删除静态关键字?
谢谢!
作为一般规则,重用'DBContext'或'ObjectContext'的实例似乎是一个坏主意。我认为最好的方法是创建一个'Func',它在每次需要时返回一个新的实例。 –
2013-04-29 19:19:50
@HighCore技术上不需要改变static关键字,因为包含它的控制器由MVC为每个请求实例化。 – 2013-04-29 19:23:12
当您完成从数据库中读取数据时,是否正确关闭了数据读取器? – ryrich 2013-04-29 19:23:35