是否使用'关闭现有的开放连接?

时间:2014-11-06 07:03:56

标签: c# entity-framework

执行以下操作时,即使连接已经预先打开,连接是否已关闭并处理掉?

using (var conn = myDbContext.Database.Connection)
{
     //Do something...
}

2 个答案:

答案 0 :(得分:2)

是的,但在我看来你不应该像这样使用它。

如果你没有初始化你的对象,在using语句中,你就不能在一个eather中关闭它。

答案 1 :(得分:1)

连接是否已打开无关紧要,重要的是未被处理,并且在using之后 处理后不能再使用了,即使DbContext(明智地)假设你不会去它背后的连接,将继续尝试以后使用连接,并将失败。所以不要这样做。

在您的特定示例中,当DbContext被处置时,将处理连接,并且不应手动处理,并且绝对不应提前处置。