最佳答案
我在 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();
}
}