示例#1
0
 protected AggregateSubqueryExpression UpdateAggregateSubquery(AggregateSubqueryExpression aggregate, ScalarExpression subquery)
 {
     if (subquery != aggregate.AggregateAsSubquery)
     {
         return new AggregateSubqueryExpression(aggregate.GroupByAlias, aggregate.AggregateInGroupSelect, subquery);
     }
     return aggregate;
 }
 protected override Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregate)
 {
     Expression mapped;
     if (this.map.TryGetValue(aggregate, out mapped))
     {
         return mapped;
     }
     return this.Visit(aggregate.AggregateAsSubquery);
 }
示例#3
0
 protected override Expression VisitAggregateSubquery(AggregateSubqueryExpression node)
 {
     Expression mapped;
     if (_map.TryGetValue(node, out mapped))
     {
         return mapped;
     }
     return Visit(node.AggregateAsSubquery);
 }
示例#4
0
        protected override Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregate)
        {
            Expression mapped;

            if (this.map.TryGetValue(aggregate, out mapped))
            {
                return(mapped);
            }
            return(this.Visit(aggregate.AggregateAsSubquery));
        }
示例#5
0
 protected virtual Expression VisitAggregateSubquery(AggregateSubqueryExpression node)
 {
     Expression e = Visit(node.AggregateAsSubquery);
     var subquery = (ScalarExpression) e;
     if (subquery != node.AggregateAsSubquery)
     {
         return new AggregateSubqueryExpression(node.GroupByAlias, node.AggregateInGroupSelect, subquery);
     }
     return node;
 }
 protected virtual Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregate)
 {
     Expression e = this.Visit(aggregate.AggregateAsSubquery);
     System.Diagnostics.Debug.Assert(e is ScalarExpression);
     ScalarExpression subquery = (ScalarExpression)e;
     if (subquery != aggregate.AggregateAsSubquery)
     {
         return new AggregateSubqueryExpression(aggregate.GroupByAlias, aggregate.AggregateInGroupSelect, subquery);
     }
     return aggregate;
 }
示例#7
0
 protected override Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregate)
 {
     this.aggregates.Add(aggregate);
     return(base.VisitAggregateSubquery(aggregate));
 }
示例#8
0
        protected override Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregate)
        {
            Expression mapped;

            return(map.TryGetValue(aggregate, out mapped) ? mapped : Visit(aggregate.AggregateAsSubquery));
        }
 protected virtual bool CompareAggregateSubquery(AggregateSubqueryExpression a, AggregateSubqueryExpression b)
 {
     return this.Compare(a.AggregateAsSubquery, b.AggregateAsSubquery)
         && this.Compare(a.AggregateInGroupSelect, b.AggregateInGroupSelect)
         && a.GroupByAlias == b.GroupByAlias;
 }
 protected override Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregate)
 {
     this.aggregates.Add(aggregate);
     return base.VisitAggregateSubquery(aggregate);
 }
示例#11
0
 // protected override fields
 protected override Expression VisitAggregateSubquery(AggregateSubqueryExpression node)
 {
     _aggregates.Add(node);
     return base.VisitAggregateSubquery(node);
 }
示例#12
0
 protected virtual Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregate)
 {
     var subquery = (ScalarExpression) this.Visit(aggregate.AggregateAsSubquery);
     return this.UpdateAggregateSubquery(aggregate, subquery);
 }
示例#13
0
 protected override Expression VisitAggregateSubquery(AggregateSubqueryExpression aggregateSubquery)
 {
     return(aggregateSubquery);
 }
示例#14
0
 protected virtual bool CompareAggregateSubquery(AggregateSubqueryExpression a, AggregateSubqueryExpression b)
 {
     return(Compare(a.AggregateAsSubquery, b.AggregateAsSubquery) &&
            Compare(a.AggregateInGroupSelect, b.AggregateInGroupSelect) &&
            a.GroupByAlias == b.GroupByAlias);
 }