public Expression VisitSqlGroupingSelectExpression (SqlGroupingSelectExpression expression)
{
var newKeyExpression = ApplyValueContext (expression.KeyExpression);
var newElementExpression = ApplyValueContext (expression.ElementExpression);
var newAggregationExpressions = expression.AggregationExpressions
.Select (ApplyValueContext)
.ToArray();
if (newKeyExpression != expression.KeyExpression
|| newElementExpression != expression.ElementExpression
|| !newAggregationExpressions.SequenceEqual (expression.AggregationExpressions))
return _context.UpdateGroupingSelectAndAddMapping (expression, newKeyExpression, newElementExpression, newAggregationExpressions);
return expression;
}