public virtual void Rollback() { try { try { Log.DebugTransactionOperation("firing event rollback..."); FireTransactionEvent(TransactionJavaStatus.RollingBack); } catch (System.Exception exception) { Log.ExceptionWhileFiringEvent(TransactionJavaStatus.RollingBack, exception); Context.CommandInvocationContext.TrySetThrowable(exception); } finally { Log.DebugTransactionOperation("rolling back the persistence session..."); //PersistenceProvider.Rollback(); CommandContext.DbContext.Dispose(); } } catch (System.Exception exception) { Log.ExceptionWhileFiringEvent(TransactionJavaStatus.RollingBack, exception); Context.CommandInvocationContext.TrySetThrowable(exception); } finally { Log.DebugFiringEventRolledBack(); FireTransactionEvent(TransactionJavaStatus.RolledBack); } }