У меня есть 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();
}
}