我在我的项目中使用Entity Framework,我决定改变标准方式,这意味着使用'使用'。 我编写了用于沟通数据库的数据库层,但有时会返回此错误,请帮我修复此问题:
类型' System.ObjectDisposedException'的异常发生在 EntityFramework.SqlServer.dll但未在用户代码中处理
附加信息:ObjectContext实例已被释放 并且不能再用于需要连接的操作。
这是我的BaseController代码:
//For Data Accsess
public CBEntities DB
{
get
{
return DataAccsesLayer.DbeEntities;
}
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (DataAccsesLayer.DbeEntities != null)
{
DataAccsesLayer.DbeEntities.Dispose();
DataAccsesLayer.DbeEntities = null;
}
}
base.Dispose(disposing);
}
数据项目:
//this part of code is member of Data project which is Data Layer
public static class DataAccsesLayer
{
private static CBEntities _context;
public static CBEntities DbeEntities
{
get
{
if (_context == null)
{
_context = new CBEntities();
return _context;
}
else
{
return _context;
}
}
set { _context = value; }
}
}