web-dev-qa-db-ja.com

usingブロックはデータベース接続を閉じますか?

_using (DbConnection conn = new DbConnection())
{
    // do stuff with database
}
_

usingブロックはconn.Close()を呼び出しますか?

41
Craig Johnston

はい、そうです。 DbConnection.Dispose()の実装はClose()を呼び出します(その派生実装も同様です)。

58
BoltClock

はい- http://msdn.Microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.close.aspx

編集:マイクロソフトから:「接続はusingブロックの最後で自動的に閉じられます。」

7
vlad259

usingブロックは、Dispose()メソッドを呼び出して、DbConnectionオブジェクトを確実に破棄します。 Dispose()メソッドはClose()メソッドを呼び出し、データベースへの接続を閉じるのを待つ必要があります。

6
Roman

接続を破棄し、破棄する前に接続の内部ロジックがcloseを呼び出すため、確かにそうです。

5
Davide Piras