public static Expression Rewrite(Expression expression) { return(new AggregateRewriter { map = new Dictionary <AggregateSubqueryExpression, Expression>(), lookup = AggregateGatherer.Gather(expression).ToLookup(a => a.GroupByAlias) } .Visit(expression)); }
private AggregateRewriter(Expression expr) { this.map = new Dictionary <AggregateSubqueryExpression, Expression>(); this.lookup = AggregateGatherer.Gather(expr).ToLookup(a => a.GroupByAlias); }
private DbAggregateRewriter(QueryLanguage language, Expression expr) { this.language = language; this.map = new Dictionary <DbAggregateSubqueryExpression, Expression>(); this.lookup = AggregateGatherer.Gather(expr).ToLookup(a => a.GroupByAlias); }
private AggregateRewriter(IDialect dialect, Expression expr) { this.dialect = dialect; this.map = new Dictionary <AggregateSubqueryExpression, Expression>(); this.lookup = AggregateGatherer.Gather(expr).ToLookup(a => a.GroupByAlias, TableAlias.Comparer); }
private AggregateRewriter(Expression expr) { this.lookup = AggregateGatherer.Gather(expr).ToLookup(a => a.GroupByAlias); }