关于实体框架中的连接处理

时间:2014-11-05 16:13:15

标签: c# entity-framework asp.net-web-api

我需要您对以下实施的建议。

我正在为我的ASP.NET WEB API项目使用实体框架

我的程序流程是: Repository-> BusinessLayer->控制器

我的上下文名称是:UtmDataContext

在存储库中我使用代码这样的事情:

    using (SqlConnection objConnection = new SqlConnection(connstr))
    {
        DbCompiledModel compiledModel = UtmCompiledModel.CreateCompiledDataModel(objConnection, schema);
        using (var dataContext = new UTMDataContext(objConnection, compiledModel, true))
        {
            /*Doing some stuff here*/
        }
    }

在上面的代码中 schema是来自用户的参数。

我的项目要求实体框架具有多租户架构。所以我正在构建模型,然后将其提供给UtmDataContext对象。

但是,我怀疑,实体框架真的关闭了我的objConnection吗?

你能帮我解决这个问题吗?如果您需要任何进一步的信息,请告诉我

提前致谢

2 个答案:

答案 0 :(得分:0)

只要using{}块中的所有内容都已执行,您的SqlConnection就会关闭并调用dispose()。

答案 1 :(得分:0)

在实现using的对象上使用IDisposable时,编译器会将代码解释为具有try / finally块。 finally块调用对象的Dispose方法。

http://msdn.microsoft.com/en-us/library/yh598w02.aspx