private async Task DispatchPreSaveEventsAsync(CancellationToken cancellationToken = default)
 {
     var entities = ChangeTracker
                    .Entries <EntityBase>()
                    .Where(x => x.Entity.PreSaveDomainEvents != null && x.Entity.PreSaveDomainEvents.Any())
                    .Select(x => x.Entity);
     await _eventDispatcher.DispatchPreSaveAsync(entities, cancellationToken);
 }