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