/// <inheritdoc cref="UnaryExpression.Update(Expression)" select="summary"/> public GroupByClause Update(ParameterExpression variable, Expression selector) { if (Variable == variable && Selector == selector) { return(this); } return(Expressive.GroupBy(variable, selector)); }
/// <inheritdoc cref="UnaryExpression.Update(Expression)" select="summary"/> public GroupByIntoClause Update(ParameterExpression variable, Expression selector, ParameterExpression group) { if (Variable == variable && Selector == selector && Group == group) { return(this); } return(Expressive.GroupBy(variable, selector, group)); }
private QueryClause VisitTerminationClause(SelectOrGroupClauseSyntax node) { if (node is SelectClauseSyntax select) { return(Expressive.Select(Visit(select.Expression))); } if (node is GroupClauseSyntax group) { return(Expressive.GroupBy(null, Visit(group.GroupExpression))); } throw new ArgumentException(); }