实体框架6在封闭上下文中引用嵌套对象的能力
本文关键字:嵌套 引用 对象 能力 上下文 框架 实体 | 更新日期: 2023-09-27 18:01:13
我有一个类,它可以在屏幕上加载我想要的所有数据。
我将在using语句中加载所有数据,并在更高的类中返回结果记录。
我可以循环遍历对象,但任何嵌套的对象都不可用,当我尝试检查对象时,我会得到错误"函数求值需要运行所有线程"。
返回到网页的错误是"ObjectContext实例已被释放,不能再用于需要连接的操作。">
EF6中有没有一种方法可以让我加载所有对象和嵌套对象,并使它们在上下文之外可用?
Using语句将自动处理对象。
您可以在获取主实体时使用include来获取相关实体。
https://msdn.microsoft.com/en-us/data/jj574232.aspx
示例:在控制器类中
Person[] people = Repo.GetAllPeople();
在Repository类中,您有类似于以下内容:
public People[] GetAllPeople()
{
try
{
MyDbContext cont = new MyDbContext();
return cont.People.ToArray();
}
catch { return null; }
finally { cont.Dispose(); }
}
p.S。并且是-使用语句并不是别的,只是:
try
{
...instantiate some_resource that inherits from IDisposable
...do something with this resource
}
finally { some_resource.Dispose(); }