Exemplo n.º 1
0
        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);
        }