private void Dispose(bool disposing) { if (disposing) { if (_transaction != null) { try { _transaction.Commit(); //commit is faster than rollback, so we try.. } catch (Exception ex) { GC.KeepAlive(ex); } finally { _transaction.SafeDispose(); _transaction = null; } } _connection.SafeDispose(); _connection = null; } }