我使用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。
知道可能是什么问题吗?