/// <summary> /// Roll the transaction back and abort changes using an asynchronous API, where available. /// </summary> public Task RollbackAsync() { if (transaction.WasRolledBack || IsFinal || disposedValue) { IsFinal = true; return(Task.CompletedTask); } IsFinal = true; return(transaction.RollbackAsync()); }