2012-12-12 2 views
5

可能性の重複:
What happens to an uncommitted transaction when the connection is closed?SqlConnection.Dispose()は保留中のすべてのトランザクションに対してロールバックを実行しますか?

私はSqlTransactionは(Will a using statement rollback a database transaction if an error occurs?を参照)Dispose()に自分自身をロールバックされますが、その親SqlConnectionが配置されたときにそれがロールバックされます知っていますか?

+1

見てみましたか? –

答えて

4

はい、SqlConnectionクラスでは処理されません。

私は、接続が自動的に閉じられたときに、コミットされていないトランザクションをすべてロールバックするSQL Serverだと思います。

また、既定でSqlConnectionに接続プールがあることも考慮してください。したがって、SqlConnectionを閉じる/破棄するときに、 "実際の" db接続がまだアクティブである可能性があります。

+2

実際、接続が再利用されるまで、tranは開いたままです! – usr