Remotion.Linq.SqlBackend.MappingResolution.SqlContextExpressionVisitor.VisitSqlGroupingSelectExpression C# (CSharp) Method

VisitSqlGroupingSelectExpression() public method

public VisitSqlGroupingSelectExpression ( SqlGroupingSelectExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlGroupingSelectExpression
return System.Linq.Expressions.Expression
    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;
    }