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