当前位置: 代码迷 >> ASP.NET >> 关于entity framework4.1的上下文释放有关问题
  详细解决方案

关于entity framework4.1的上下文释放有关问题

热度:3350   发布时间:2013-02-25 00:00:00.0
关于entity framework4.1的上下文释放问题
一直在想一个问题
如果把ef的上下文,比如说 继承了DbContext的MyContext在实体类内部实例化
然后在实体类的析构方法里面把上下文释放掉

比如说

C# code
    public class Toka    {        private MyContext db = new MyContext();        public string a { set; get; }        public void Create()        {            db.Tokas.Add(this);        }        ~Toka()        {            db.Dispose();        }


这样会不会导致一些效率问题(貌似,似乎还很严重?)

------解决方案--------------------------------------------------------
db应该是经常访问的对象, 一般都是将数据访问对象放在BaseControl.cs

C# code
 protected MyContext db = new MyContext ();        protected override void Dispose(bool disposing)        {            db.Dispose();            base.Dispose(disposing);        }
------解决方案--------------------------------------------------------
探讨

db应该是经常访问的对象, 一般都是将数据访问对象放在BaseControl.cs

C# code

protected MyContext db = new MyContext ();

protected override void Dispose(bool disposing)
{
db.Dispose();
……
  相关解决方案