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
     });
 }
Пример #4
0
        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));
 }