public QueryWithProjectionBuilder() { this.query = new QueryWithProjection <T, TResult>(); }
public async Task <List <TResult> > QueryAsync <TResult>(QueryWithProjection <T, TResult> query) { return(await this.entities.AsQueryable <T>() .EvaluateQuery(query) .ToListAsync()); }
public static IQueryable <TResult> EvaluateQuery <T, TResult>(this IQueryable <T> inputQuery, QueryWithProjection <T, TResult> query) { inputQuery = EvaluateQuery <T>(inputQuery, query); return(inputQuery.Select(query.Selector)); }