Expression VisitQuery(Expression source, Expression predicate) { var lambda = predicate.GetLambda(); var wasWithin = within; within = CriteriaWithin.Query; var body = BooleanMemberAccessBecomesEquals(lambda.Body); var criteriaExpression = body as CriteriaExpression; if (criteriaExpression == null) { throw new NotSupportedException(string.Format("Query expression '{0}' could not be translated", body)); } searchRequest.Query = AndCriteria.Combine(searchRequest.Query, criteriaExpression.Criteria); within = wasWithin; return(Visit(source)); }
Expression VisitQuery(Expression source, Expression predicate) { var lambda = predicate.GetLambda(); var wasWithin = within; within = CriteriaWithin.Query; var body = BooleanMemberAccessBecomesEquals(lambda.Body); var criteriaExpression = body as CriteriaExpression; if (criteriaExpression == null) throw new NotSupportedException(string.Format("Query expression '{0}' could not be translated", body)); searchRequest.Query = AndCriteria.Combine(searchRequest.Query, criteriaExpression.Criteria); within = wasWithin; return Visit(source); }