我有一條是大幹快上Application_Start
播種演示數據到我的數據庫運行的代碼,但我發現了一個異常說:的Application_Start超時?
的ObjectContext的實例已設置,並且可以不再用於經營需要連接
雖然試圖枚舉我的實體之一DB.ENTITY.SELECT(x => x.Id == value);
我檢查了我的代碼,我不是我手術前處置我的背景下,下面是我目前實現的輪廓:
protected void Application_Start()
{
SeedDemoData();
}
public static void SeedDemoData()
{
using(var context = new DBContext())
{
// my code is run here.
}
}
所以我在想,如果Application_Start
已超時,並迫使我的分貝範圍內完成之前關閉其連接。
注:我知道代碼,因爲我在不同的地方使用它,它是單元測試,並在那裏工作沒有任何問題。
有什麼想法可能是這裏的問題?或我錯過了什麼?
該錯誤通常意味着您正在訪問某個對象中的一些延遲加載的屬性,該對象在您處理上下文的地方從EF中提取。你確定異常是從你的SeedDemoData函數中拋出的嗎? – Mikeb 2013-03-11 18:18:51
您是否嘗試過加入'ToList()'內查詢'SeedDemoData()'只是爲了確保上下文設置之前,你的查詢叫什麼名字? – Khan 2013-03-11 18:22:34
是的,異常來自我的SeedDemoData(),我試圖做的是將DB.ENTITY.SELECT(x => x.Id ==值)移動到執行中的第一行,它可以工作,但假如真有別的此之前我的上下文中執行它會吹,任何其他的想法? – 2013-03-11 19:25:44