public override async Task <IEnumerable <T> > ExecuteReaderAsync <T>(ICommandBuilder commandBuilder, CancellationToken cancellationToken) { return(await CacheOrNot(commandBuilder, async (buffer) => { var results = await InnerHandler.ExecuteReaderAsync <T>(commandBuilder, cancellationToken); if (buffer) { results = results.ToList(); } return results; })); }
public override async Task <IEnumerable <T> > ExecuteReaderAsync <T>(ICommandBuilder commandBuilder, CancellationToken cancellationToken) { var stopwatch = Stopwatch.StartNew(); try { var results = await InnerHandler.ExecuteReaderAsync <T>(commandBuilder, cancellationToken); return(results); } finally { var parameters = commandBuilder.Parameters; _logger.LogDebug("query: {commandText} parameters: {parameters} elapsed: {ElapsedMilliseconds}ms", commandBuilder.CommandText, parameters, stopwatch.ElapsedMilliseconds); } }