我从数据库中获取一些数据并将其存储在全局变量中,如下所示:
//Global Variable
public static List<stuff> Stuff;
using (var context = new StuffContext())
{
stuff = new List<stuff>();
stuff = (from r in context.Stuff
select r).ToList();
}
我遇到的问题是上下文关闭,当我希望访问存储在全局变量中的一些数据时,我不能。
数据是System.Data.Entity.DynamicProxies.Stuff而不是Application.Model.Stuff,这意味着当我尝试对数据执行某些操作时,我会收到此错误:
"The ObjectContext instance has been disposed and can no longer be used for operations that require a connection."
我的问题是,我如何使用上面的代码作为示例,将/转换为我想要的类型,以便我可以在我的应用程序中使用其他数据?
答案 0 :(得分:0)
解决方案毕竟是由于延迟加载。
我不得不告诉查询抓取所有内容,以便在上下文关闭时我仍然可以访问数据。 这是我必须做出的改变:
public static List<stuff> Stuff;
using (var context = new StuffContext())
{
stuff = new List<stuff>();
stuff = (from r in context.Stuff
.Include(s => s.MoreStuff).Include(s => s.EvenMoreStuff)
select r).ToList();
}