private async Task <CommandWithDataReader> ExecuteReaderAsync(DbCommand command, CommandBehavior commandBehavior, CancellationToken token) { DbDataReader reader; try { reader = await driver.ExecuteReaderAsync(session, command, commandBehavior, token).ConfigureAwait(false); } catch { await command.DisposeAsync().ConfigureAwait(false); throw; } return(new CommandWithDataReader(command, reader)); }