0
我的页面调用一个使用Generic Repository“Find”方法的服务层方法。在服务层的方法,我做到以下几点:ObjectDisposedException使用Include时 - 为什么?
using (IUnitOfWork unitOfWork = new DBContext())
{
GenericRepository<Operator> operatorRepos = new GenericRepository<Operator>(unitOfWork);
{
try
{
var oper = operatorRepos.Find(o => o.OperatorID == operatorID).Include(o => o.cmn_Address).Single();
return oper;
}
catch (InvalidOperationException exc)
{
//handle exception
}
}
}
我的资料库查找方法:
public IQueryable<T> Find(Func<T, bool> predicate)
{
return _objectSet.Where<T>(predicate).AsQueryable();
}
在页面上,我尝试访问运营商的cmn_address导航属性和我出现以下错误:
ObjectContext实例已被处置,不能再用于需要连接的操作。
我意识到,这是由using语句引起的处置方面,但我认为包括方法急于负荷cmn_Address对象。我不明白为什么这不像我预期的那样工作。
+1因为你是实体框架的教父,你摇滚! –