private bool IsNewQueryableForSelect(Expression currentQuery, Expression newQuery, out Expression newQueryWithoutSelect) { ReportingDataQuery <T> .SelectQueryFilter selectQueryFilter = new ReportingDataQuery <T> .SelectQueryFilter(); ReportingDataQuery <T> .SelectQueryFilter selectQueryFilter2 = new ReportingDataQuery <T> .SelectQueryFilter(); selectQueryFilter.Visit(currentQuery); newQueryWithoutSelect = selectQueryFilter2.Visit(newQuery); return(!selectQueryFilter.HasSelectQuery && selectQueryFilter2.HasSelectQuery); }
public TElement Execute <TElement>(Expression expression) { if (expression == null) { throw new ArgumentNullException("expression"); } IQueryable result = null; ElapsedTimeWatcher.Watch(RequestStatistics.RequestStatItem.CmdletResponseTime, delegate { result = this.dataSource.GetData(this.entity, this.expression).AsQueryable(); }); Expression expression2 = ReportingDataQuery <T> .DecorateExpression(result, (MethodCallExpression)expression); return(result.Provider.Execute <TElement>(expression2)); }