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();
}
}