我需要您对以下实施的建议。
我正在为我的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吗?
你能帮我解决这个问题吗?如果您需要任何进一步的信息,请告诉我
提前致谢
答案 0 :(得分:0)
只要using{}块中的所有内容都已执行,您的SqlConnection就会关闭并调用dispose()。
答案 1 :(得分:0)
在实现using
的对象上使用IDisposable
时,编译器会将代码解释为具有try / finally块。 finally
块调用对象的Dispose
方法。