使用using语句达到了EF6 Max-pool-size?

时间:2015-02-04 22:41:24

标签: entity-framework-6 connection-pooling dispose dbcontext using-statement

我使用EF6(数据库优先)和jtable.org(一个用于创建基于AJAX的CRUD表的JQuery插件)在MVC5中创建了一个小应用程序。

我只使用存储过程与数据库进行交互。即使我在使用块中为我创建的每个存储过程调用创建dbcontext,我也会得到Max pool达到的异常:

  

“System.Data.Entity.Core.EntityException:   底层提供程序在Open上失败。 --->   System.InvalidOperationException:超时已过期。从池中获取连接之前经过的超时时间。这可能是因为所有池化连接都在使用中并且达到了最大池大小。“

我花了一天的大部分时间试图找出可能出错的地方,但由于处理了dbcontext而没有成功,因此也处理了连接......

即使我读过博客,也说没有必要打电话处理...... http://blog.jongallant.com/2012/10/do-i-have-to-call-dispose-on-dbcontext.html#.VNKTTJ2sWkE

我拥有的每个db调用,与下面的类似,所有dbcontex都在using块中创建:

 public IEnumerable<Jobs_Get_Result> GetJobs(int categoryId, int startIndex, int pageSize)
    {
        using (var _context = new JobEntities())
        {
            var jobs =  _context.Jobs_Get(categoryId, startIndex, pageSize).ToList();
            return jobs;
        }
    }

我使用数据库优先,模型和由EF创建的dbcontext。

知道可能是什么问题吗?

0 个答案:

没有答案