Mam IDbTransaction w instrukcji using, ale nie jestem pewien, czy zostanie ona wycofana, jeśli w instrukcji using zostanie zgłoszony wyjątek. Wiem, że instrukcja using wymusi wywołanie metody Dispose () ... ale czy ktoś wie, czy to samo dotyczy Rollback ()?
Aktualizacja: Czy muszę również jawnie wywoływać Commit (), tak jak poniżej, czy też zajmie się tym również instrukcja using?
Mój kod wygląda mniej więcej tak:
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();
}
}