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 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); }
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; }