_using (DbConnection conn = new DbConnection())
{
// do stuff with database
}
_
using
ブロックはconn.Close()
を呼び出しますか?
はい、そうです。 DbConnection.Dispose()
の実装はClose()
を呼び出します(その派生実装も同様です)。
はい- http://msdn.Microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.close.aspx
編集:マイクロソフトから:「接続はusingブロックの最後で自動的に閉じられます。」
using
ブロックは、Dispose()
メソッドを呼び出して、DbConnection
オブジェクトを確実に破棄します。 Dispose()
メソッドはClose()
メソッドを呼び出し、データベースへの接続を閉じるのを待つ必要があります。
接続を破棄し、破棄する前に接続の内部ロジックがcloseを呼び出すため、確かにそうです。