protected override Expression VisitChildren (ExpressionTreeVisitor visitor)
{
ArgumentUtility.CheckNotNull ("visitor", visitor);
var newKeyExpression = visitor.VisitExpression (KeyExpression);
var newElementExpression = visitor.VisitExpression (ElementExpression);
var originalAggregationExpressions = AggregationExpressions;
var newAggregationExpressions = visitor.VisitAndConvert (originalAggregationExpressions, "VisitChildren");
if (newKeyExpression != KeyExpression
|| newElementExpression != ElementExpression
|| newAggregationExpressions != originalAggregationExpressions)
{
var newSqlGroupingSelectExpression = new SqlGroupingSelectExpression (newKeyExpression, newElementExpression, newAggregationExpressions);
return newSqlGroupingSelectExpression;
}
return this;
}