Esempio n. 1
0
 public ExpandingExpressionVisitor(
     NavigationExpandingExpressionVisitor navigationExpandingExpressionVisitor,
     NavigationExpansionExpression source)
 {
     _navigationExpandingExpressionVisitor = navigationExpandingExpressionVisitor;
     _source = source;
     Model   = navigationExpandingExpressionVisitor._queryCompilationContext.Model;
 }
 public override Expression Process(Expression query)
 {
     query = new EnumerableToQueryableMethodConvertingExpressionVisitor().Visit(query);
     query = new QueryMetadataExtractingExpressionVisitor(_queryCompilationContext).Visit(query);
     query = new InvocationExpressionRemovingExpressionVisitor().Visit(query);
     query = new AllAnyToContainsRewritingExpressionVisitor().Visit(query);
     query = new GroupJoinFlatteningExpressionVisitor().Visit(query);
     query = new NullCheckRemovingExpressionVisitor().Visit(query);
     query = new EntityEqualityRewritingExpressionVisitor(_queryCompilationContext).Rewrite(query);
     query = new SubqueryMemberPushdownExpressionVisitor().Visit(query);
     query = new NavigationExpandingExpressionVisitor(_queryCompilationContext, Dependencies.EvaluatableExpressionFilter).Expand(query);
     query = new FunctionPreprocessingExpressionVisitor().Visit(query);
     new EnumerableVerifyingExpressionVisitor().Visit(query);
     return(query);
 }