コード例 #1
0
 public static Expression Rewrite(Expression expression)
 {
     return(new AggregateRewriter
     {
         map = new Dictionary <AggregateSubqueryExpression, Expression>(),
         lookup = AggregateGatherer.Gather(expression).ToLookup(a => a.GroupByAlias)
     }
            .Visit(expression));
 }
コード例 #2
0
 private AggregateRewriter(Expression expr)
 {
     this.map    = new Dictionary <AggregateSubqueryExpression, Expression>();
     this.lookup = AggregateGatherer.Gather(expr).ToLookup(a => a.GroupByAlias);
 }
コード例 #3
0
 private DbAggregateRewriter(QueryLanguage language, Expression expr)
 {
     this.language = language;
     this.map      = new Dictionary <DbAggregateSubqueryExpression, Expression>();
     this.lookup   = AggregateGatherer.Gather(expr).ToLookup(a => a.GroupByAlias);
 }
コード例 #4
0
 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);
 }
コード例 #5
0
 private AggregateRewriter(Expression expr)
 {
     this.lookup = AggregateGatherer.Gather(expr).ToLookup(a => a.GroupByAlias);
 }