public async Task ResetAsync(CancellationToken cancellationToken = default) { if (cancellationToken.IsCancellationRequested) { _logger.LogInformation($"{nameof(StoreProjector<TProjection>)}.{nameof(ResetAsync)} was cancelled before execution"); cancellationToken.ThrowIfCancellationRequested(); } using (var context = _projectionDbContextFactory.Create()) { var state = await context.ProjectionStates.FindAsync(_name); if (state != null) { state.Position = 0; state.LastModifiedDate = DateTimeOffset.UtcNow; await context.SaveChangesAsync(cancellationToken); } await _projectionManager.ResetAsync(cancellationToken); } }