处理DBContext时,这意味着什么?

时间:2013-09-05 12:59:19

标签: c# entity-framework

我收到此错误:

  

由于已经处理了DbContext,因此无法完成操作。描述:期间发生了未处理的异常   执行当前的Web请求。请查看堆栈跟踪   有关错误及其来源的更多信息   码。异常详细信息:System.InvalidOperationException:The   由于DbContext已被处理

,因此无法完成操作

3 个答案:

答案 0 :(得分:1)

  

这是什么意思?

这意味着您无法继续使用DBContext对象。 DBContext实施IDisposable;所以,它有一个Dispose()方法:

  

执行与释放,释放或重置非托管资源相关的应用程序定义任务。

所以,

  

为什么要处理?

某个地方明确地调用了

Dispose(),或者在退出using块时隐式调用了它。

答案 1 :(得分:1)

您的DbContext已被关闭并处理,您可能会因为延迟加载dbcontext后的文件而得到错误。你的DbContext是否包含在using语句中?如果是这样,那么它将在调用DB之前被处置

答案 2 :(得分:0)

似乎您的DbContext Connection在使用前已关闭并处理。 尝试使用块

输入你的代码
using(MyDbContext objDbContext = new MyDbContext())
{
  //Put your code here.

}