DbConnection.Close メソッド


派生クラスでオーバーライドされた場合、データベースへの接続を閉じます。When overridden in a derived class, closes the connection to the database.

 abstract void Close();
public abstract void Close ();
abstract member Close : unit -> unit
Public MustOverride Sub Close ()



Closeメソッドと CloseAsync メソッドは、保留中のトランザクションをロールバックします。The Close and CloseAsync methods roll back any pending transactions. 次に、接続プールへの接続を解放するか、接続プールが無効になっている場合は接続を閉じます。They then release the connection to the connection pool, or close the connection if connection pooling is disabled.

アプリケーションは、またはを複数回呼び出すことができ Close CloseAsync ます。An application can call Close or CloseAsync more than one time. 例外は生成されません。No exception is generated.

DbConnection スコープ外に出ると、閉じられません。If the DbConnection goes out of scope, it is not closed. そのため、またはを呼び出すことによって、接続を明示的に閉じる必要があり Close Dispose ます。これは機能的には同等です。Therefore, you must explicitly close the connection by calling Close or Dispose, which are functionally equivalent. 接続プールの値 Pooling がまたはに設定されている場合は、 true yes 物理接続も解放されます。If the connection pooling value Pooling is set to true or yes, this also releases the physical connection.


DbConnection DbDataReader クラスのメソッドで、、、またはその他のマネージオブジェクトを閉じたり破棄したりしないでください FinalizeDo not close or dispose a DbConnection, a DbDataReader, or any other managed object in the Finalize method of your class. ファイナライザーでは、クラスが直接所有しているアンマネージリソースのみを解放する必要があります。In a finalizer, you should only release unmanaged resources that your class owns directly. クラスがアンマネージ リソースを所有していない場合は、クラス定義に Finalize メソッドを含めないでください。If your class does not own any unmanaged resources, do not include a Finalize method in your class definition. 詳しくは、「ガベージ コレクション」をご覧ください。For more information, see Garbage Collection.