protected async Task <QueryResultReader <TResult> > ExecuteQueryAsync <TResult>(Func <QueryResult, TResult> mappingCallback, Action <QueryResult, TResult> injectingCallback) { var queryResult = await QueryProvider.ExecuteReaderAsync(BuildQuery()); return(new QueryResultReader <TResult>(queryResult, mappingCallback, injectingCallback)); }