我有一条是大干快上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