实体框架SQL连接未关闭或处置

时间:2014-08-02 20:15:08

标签: entity-framework entity-framework-5 entity-framework-4.1 sqlconnection sqlconnection.close

我正在使用带有Repository Pattern的Entity Framework,但是我们需要调用存储的proecedure,所以我们最终用EF DBContext创建DAL类在DAL Class中有本地私有变量, 私人背景;

我尝试在Repository Class Constructor

中实例化DBContext
public 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,这不允许新连接一段时间或工作重启。请让我知道配置上下文的有效方法,立即完成存储库层方法。

0 个答案:

没有答案