Beispiel #1
0
        /// <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));
        }
Beispiel #3
0
        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();
        }