/// <summary> /// データベースから切断する /// </summary> /// <remarks></remarks> protected override void DisposeImp(bool disposing) { //キャッシュテーブルとこれが保持するResultsオブジェクトを削除する if (_aResultsCache != null) { _aResultsCache.Dispose(); } if (_connections != null) { //コネクションプールの全てのDB接続を閉じる foreach (DbConn aDbConn in _connections) { //GCによるDbオブジェクト回収時にはCommitAtFinalizingの設定によりCOMMITまたはROLLBACKする if (!disposing && !_params.CommitAtFinalizing) { aDbConn.Rollback(); } //Dispose()しても被参照カウントが残っていればDB接続は閉じられない while (!(aDbConn.IsClosed())) { aDbConn.Dispose(); } } } }
protected override void DisposeImp(bool disposing) { _resultsCache.Dispose(); }