private async Task OpenAndSaveAsync(SaveWorkState saveWorkState, CancellationToken cancellationToken) { await OpenDbConnectionAsync(cancellationToken); // ensure connection is available for BeforeSaveEntities await saveWorkState.BeforeSaveAsync(cancellationToken); await SaveChangesCoreAsync(saveWorkState, cancellationToken); await saveWorkState.AfterSaveAsync(cancellationToken); }