我正在使用带有Repository Pattern的Entity Framework,但是我们需要调用存储的proecedure,所以我们最终用EF DBContext创建DAL类在DAL Class中有本地私有变量, 私人背景;
我尝试在Repository Class Constructor
中实例化DBContextpublic VRepository( IDataAccessObjectFactory daoFactory)
{
_daoFactory = daoFactory;
context = _daoFactory.GetEFContext<DbEntities>();
}
所有服务调用DAL的存储库类的方法,所有存储库类继承自IDisposable并在存储库类中实现一次性方法
public void Dispose()
{
if (context != null)
{
context.Dispose();
// GC.SuppressFinalize(this);
}
}
我尝试在一个方法中完成Operation之后从服务层调用上面的dispose方法,比如调用BLL的dispose方法最后阻塞配置DBContext对象(我有WEB API,WEB API - &gt; BLL - &gt ; DAL)。
即使在调用了context.Dispose()之后,EF创建的Sql Connections也没有被关闭。可以Any1建议我正确关闭SQL连接并配置SQL连接。如果我不处理,SQL连接将转到100,这不允许新连接一段时间或工作重启。请让我知道配置上下文的有效方法,立即完成存储库层方法。