我只是繼承了具有以下成員基類的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