コード例 #1
0
 protected override Expression VisitAggregate(AggregateExpression aggregate)
 {
     this.WriteAggregateName(aggregate.AggregateName);
     this.Write("(");
     if (aggregate.IsDistinct)
     {
         this.Write("DISTINCT ");
     }
     if (aggregate.Argument != null)
     {
         this.VisitValue(aggregate.Argument);
     }
     else if (this.RequiresAsteriskWhenNoArgument(aggregate.AggregateName))
     {
         this.Write("*");
     }
     this.Write(")");
     return(aggregate);
 }
コード例 #2
0
 protected override Expression VisitAggregate(AggregateExpression aggregate)
 {
     this.hasAggregate = true;
     return(aggregate);
 }
コード例 #3
0
 protected virtual bool CompareAggregate(AggregateExpression a, AggregateExpression b)
 {
     return((a.AggregateName == b.AggregateName) && this.Compare(a.Argument, b.Argument));
 }
コード例 #4
0
        protected virtual Expression VisitAggregate(AggregateExpression aggregate)
        {
            Expression arg = this.Visit(aggregate.Argument);

            return(this.UpdateAggregate(aggregate, aggregate.Type, aggregate.AggregateName, arg, aggregate.IsDistinct));
        }