我有一个类,它在屏幕上加载我想要的所有数据。
我将在using语句中加载所有数据,并在更高的类中返回结果记录。
我能够循环遍历对象,但是任何嵌套对象都不可用,我得到了一个错误:“函数评估需要运行所有线程”。当我试图检查物体的时候。
返回给网页的错误是“ObjectContext实例已被释放,不能再用于需要连接的操作”。
在EF6中是否有一种方法可以加载所有对象和嵌套对象,并使它们在上下文之外可用?
发布于 2015-07-06 06:35:22
发布于 2015-07-06 06:46:17
DbContext在很长一段时间内都不应该被使用。最好实例化上下文,将所需的所有数据从其中复制到某个数组/集合中,然后立即将其释放。然后,您可以使用这个数组/集合访问数据。
示例:在Controller类中
Person[] people = Repo.GetAllPeople();在Repository类中,您可以看到如下内容:
public People[] GetAllPeople()
{
try
{
MyDbContext cont = new MyDbContext();
return cont.People.ToArray();
}
catch { return null; }
finally { cont.Dispose(); }
}是的
try
{
...instantiate some_resource that inherits from IDisposable
...do something with this resource
}
finally { some_resource.Dispose(); }https://stackoverflow.com/questions/31238941
复制相似问题