public static IsAggregatingResults Visit(IEnumerable<GroupJoinClause> groupJoinClause, Expression selectExpression) { var visitor = new GroupJoinAggregateDetectionVisitor(groupJoinClause); visitor.VisitExpression(selectExpression); return new IsAggregatingResults { NonAggregatingClauses = visitor._nonAggregatingGroupJoins, AggregatingClauses = visitor._aggregatingGroupJoins, NonAggregatingExpressions = visitor._nonAggregatingExpressions }; }
public static IsAggregatingResults Visit(IEnumerable <GroupJoinClause> groupJoinClause, Expression selectExpression) { var visitor = new GroupJoinAggregateDetectionVisitor(groupJoinClause); visitor.Visit(selectExpression); return(GetResults(visitor)); }
private static IsAggregatingResults GetResults(GroupJoinAggregateDetectionVisitor visitor) { return(new IsAggregatingResults { NonAggregatingClauses = visitor._nonAggregatingGroupJoins, AggregatingClauses = visitor._aggregatingGroupJoins, NonAggregatingExpressions = visitor._nonAggregatingExpressions }); }
public static IsAggregatingResults Visit(IEnumerable <GroupJoinClause> groupJoinClause, Expression selectExpression) { var visitor = new GroupJoinAggregateDetectionVisitor(groupJoinClause); visitor.VisitExpression(selectExpression); return(new IsAggregatingResults { NonAggregatingClauses = visitor._nonAggregatingGroupJoins, AggregatingClauses = visitor._aggregatingGroupJoins, NonAggregatingExpressions = visitor._nonAggregatingExpressions }); }
private GroupJoinAggregateDetectionQueryModelVisitor(IEnumerable <GroupJoinClause> groupJoinClauses) { _groupJoinAggregateDetectionVisitor = new GroupJoinAggregateDetectionVisitor(groupJoinClauses); }
private static IsAggregatingResults IsAggregatingGroupJoin(QueryModel model, IEnumerable <GroupJoinClause> clause) { return(GroupJoinAggregateDetectionVisitor.Visit(clause, model.SelectClause.Selector)); }