У меня есть IDbTransaction в операторе using, но я не уверен, будет ли он отменен, если в операторе 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();
}
}