usingステートメントにIDbTransactionがありますが、usingステートメントで例外がスローされた場合にロールバックされるかどうかはわかりません。usingステートメントがDispose()の呼び出しを強制することは知っていますが、Rollback()にも同じことが当てはまるかどうか誰かが知っていますか?
更新:また、以下のようにCommit()を明示的に呼び出す必要がありますか、それともusingステートメントによって処理されますか?
私のコードは次のようになります。
using Microsoft.Practices.EnterpriseLibrary.Data;
...
using(IDbConnection connection = DatabaseInstance.CreateConnection())
{
connection.Open();
using(IDbTransaction transaction = connection.BeginTransaction())
{
//Attempt to do stuff in the database
//potentially throw an exception
transaction.Commit();
}
}