示例#1
0
 // internal static fields
 internal static IEnumerable<AggregateSubqueryExpression> Gather(Expression expression)
 {
     var gatherer = new AggregateGatherer();
     gatherer.Visit(expression);
     return gatherer._aggregates;
 }
示例#2
0
 internal static List<AggregateRequestsExpression> Gather(Expression expression)
 {
     AggregateGatherer gatherer = new AggregateGatherer();
     gatherer.Visit(expression);
     return gatherer.aggregates;
 }
 private AggregateRewriter(Expression expr)
 {
     this.map    = new Dictionary <AggregateSubqueryExpression, 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 DbAggregateRewriter(QueryLanguage language, Expression expr)
 {
     this.language = language;
     this.map      = new Dictionary <DbAggregateSubqueryExpression, Expression>();
     this.lookup   = AggregateGatherer.Gather(expr).ToLookup(a => a.GroupByAlias);
 }
示例#6
0
 private AggregateRewriter(Expression expr)
 {
     this.lookup = AggregateGatherer.Gather(expr).ToLookup(a => a.GroupByAlias);
 }
 internal static List<DbAggregateSubqueryExpression> Gather(Expression expression)
 {
     AggregateGatherer gatherer = new AggregateGatherer();
     gatherer.Visit(expression);
     return gatherer.aggregates;
 }