Пример #1
0
 public Expression Visit(Expression query)
 {
     query = new QueryMetadataExtractingExpressionVisitor(_queryCompilationContext).Visit(query);
     query = new GroupJoinFlatteningExpressionVisitor().Visit(query);
     query = new NullCheckRemovingExpressionVisitor().Visit(query);
     return(query);
 }
Пример #2
0
        public Expression Visit(Expression query)
        {
            query = new GroupJoinFlatteningExpressionVisitor().Visit(query);
            query = new NullCheckRemovingExpressionVisitor().Visit(query);
            query = new NavigationExpander(_queryCompilationContext.Model).ExpandNavigations(query);
            query = new EnumerableToQueryableReMappingExpressionVisitor().Visit(query);
            query = new QueryMetadataExtractingExpressionVisitor(_queryCompilationContext).Visit(query);
            query = new GroupJoinFlatteningExpressionVisitor().Visit(query);
            query = new NullCheckRemovingExpressionVisitor().Visit(query);
            new EnumerableVerifyingExpressionVisitor().Visit(query);

            return(query);
        }
Пример #3
0
        public Expression Visit(Expression query)
        {
            query = new AllAnyToContainsRewritingExpressionVisitor().Visit(query);
            query = new GroupJoinFlatteningExpressionVisitor().Visit(query);
            query = new NullCheckRemovingExpressionVisitor().Visit(query);
            query = new EntityEqualityRewritingExpressionVisitor(_queryCompilationContext).Rewrite(query);
            query = new NavigationExpander(_queryCompilationContext.Model).ExpandNavigations(query);
            query = new EnumerableToQueryableReMappingExpressionVisitor().Visit(query);
            query = new QueryMetadataExtractingExpressionVisitor(_queryCompilationContext).Visit(query);
            query = new NullCheckRemovingExpressionVisitor().Visit(query);
            query = new FunctionPreprocessingVisitor().Visit(query);
            new EnumerableVerifyingExpressionVisitor().Visit(query);

            return(query);
        }