public IEnumerator <TVal> GetEnumerator() { IQueryable <TVal> queryable = this.GetAggregateEnumerable().AsQueryable <TVal>(); System.Linq.Expressions.Expression expression = AggregateQuery <TVal> .RewriteForAggregation(queryable, this.Expression); return(queryable.Provider.CreateQuery <TVal>(expression).GetEnumerator()); }
private static IEnumerable <TVal> GetSubQuery(IQueryable queryable, System.Linq.Expressions.Expression expression) { expression = AggregateQuery <TVal> .Rewrite(queryable, expression); return(new BufferedEnumerable <TVal>(queryable.Provider.CreateQuery <TVal>(expression), 30)); }
private static TResult Execute <TResult>(IQueryable queryable, System.Linq.Expressions.Expression expression) => queryable.Provider.Execute <TResult>(AggregateQuery <TVal> .Rewrite(queryable, expression));
private IList <IEnumerable <TVal> > GetSubQueries(System.Linq.Expressions.Expression expression) => (from query in this._queryables select AggregateQuery <TVal> .GetSubQuery(query, expression)).ToList <IEnumerable <TVal> >();