public virtual void Rollback() { if (!_done) { _done = true; _rollbackAction.Invoke(); _connection.Close(); } }