使用ASP.NET MVC和Entity,我不断得到“由于DbContext已被处理,因此无法完成操作。”。
使用UnitOfWork模式和GenericRepository。
异常发生在PagedList.PagedListExtensions.ToPagedList。
中我尝试使用AsNoTracking,没有任何结果。
如何避免发生这些异常,因为它会导致客户端界面出现内部错误。
答案 0 :(得分:2)
在处理上下文之前,您很可能不会要求枚举查询。 LINQ to Entities实际上不会执行查询,直到您要求枚举查询,即查看结果集中的每个项目。 ToPagedList
听起来就像是需要枚举的东西。
修复方法是在处理上下文之前(可能在存储库中)强制查询枚举,方法是调用它上面的.ToList()
。