protected override Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregate)
        {
            Expression mapped;
            if (_map.TryGetValue(aggregate, out mapped))
                return mapped;

            return Visit(aggregate.AggregateAsSubquery);
        }
 protected virtual Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregateSubquery)
 {
     Expression e = Visit(aggregateSubquery.AggregateAsSubquery);
     ScalarExpression subquery = (ScalarExpression)e;
     if (subquery != aggregateSubquery.AggregateAsSubquery)
         return new AggregateSubqueryExpression(aggregateSubquery.GroupByAlias, aggregateSubquery.AggregateInGroupSelect, subquery);
     return aggregateSubquery;
 }
示例#3
0
        protected virtual Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregateSubquery)
        {
            Expression       e        = Visit(aggregateSubquery.AggregateAsSubquery);
            ScalarExpression subquery = (ScalarExpression)e;

            if (subquery != aggregateSubquery.AggregateAsSubquery)
            {
                return(new AggregateSubqueryExpression(aggregateSubquery.GroupByAlias, aggregateSubquery.AggregateInGroupSelect, subquery));
            }
            return(aggregateSubquery);
        }
 protected override Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregateSubquery)
 {
     return aggregateSubquery;
 }
 protected override Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregate)
 {
     _aggregates.Add(aggregate);
     return base.VisitAggregateSubquery(aggregate);
 }
 protected virtual bool CompareAggregateSubquery(AggregateSubqueryExpression a, AggregateSubqueryExpression b)
 {
     return(Compare(a.AggregateAsSubquery, b.AggregateAsSubquery) &&
            Compare(a.AggregateInGroupSelect, b.AggregateInGroupSelect) &&
            a.GroupByAlias == b.GroupByAlias);
 }
 protected virtual bool CompareAggregateSubquery(AggregateSubqueryExpression a, AggregateSubqueryExpression b)
 {
     return Compare(a.AggregateAsSubquery, b.AggregateAsSubquery)
         && Compare(a.AggregateInGroupSelect, b.AggregateInGroupSelect)
         && a.GroupByAlias == b.GroupByAlias;
 }