使用块是否会关闭数据库连接?

Cra*_*ton 39 c# database using

using (DbConnection conn = new DbConnection())
{
    // do stuff with database
}
Run Code Online (Sandbox Code Playgroud)

请问using块调用conn.Close()

Bol*_*ock 55

是的,它会的; DbConnection.Dispose()调用的实现Close()(以及它的派生实现).


Dav*_*ras 5

肯定是的,因为它会处理连接,并且在处理连接的内部逻辑之前会调用关闭。


vla*_*259 5

是的 - http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.close.aspx

编辑:来自Microsoft:"连接在使用块结束时自动关闭."

  • 虽然链接可以解决问题,但它也可能包含更多信息.这里的一个小概要是一个很好的事情,以帮助读者专注于重点. (5认同)

Rom*_*man 5

using块将通过调用Dispose()方法来确保DbConnection对象的销毁。Dispose()方法将依次调用Close()方法,并且必须等待它完成关闭与数据库的连接。