public RelationalQueryModelVisitor( [NotNull] IQueryOptimizer queryOptimizer, [NotNull] INavigationRewritingExpressionVisitorFactory navigationRewritingExpressionVisitorFactory, [NotNull] ISubQueryMemberPushDownExpressionVisitor subQueryMemberPushDownExpressionVisitor, [NotNull] IQuerySourceTracingExpressionVisitorFactory querySourceTracingExpressionVisitorFactory, [NotNull] IEntityResultFindingExpressionVisitorFactory entityResultFindingExpressionVisitorFactory, [NotNull] ITaskBlockingExpressionVisitor taskBlockingExpressionVisitor, [NotNull] IMemberAccessBindingExpressionVisitorFactory memberAccessBindingExpressionVisitorFactory, [NotNull] IOrderingExpressionVisitorFactory orderingExpressionVisitorFactory, [NotNull] IProjectionExpressionVisitorFactory projectionExpressionVisitorFactory, [NotNull] IEntityQueryableExpressionVisitorFactory entityQueryableExpressionVisitorFactory, [NotNull] IQueryAnnotationExtractor queryAnnotationExtractor, [NotNull] IResultOperatorHandler resultOperatorHandler, [NotNull] IEntityMaterializerSource entityMaterializerSource, [NotNull] IExpressionPrinter expressionPrinter, [NotNull] IRelationalAnnotationProvider relationalAnnotationProvider, [NotNull] IIncludeExpressionVisitorFactory includeExpressionVisitorFactory, [NotNull] ISqlTranslatingExpressionVisitorFactory sqlTranslatingExpressionVisitorFactory, [NotNull] ICompositePredicateExpressionVisitorFactory compositePredicateExpressionVisitorFactory, [NotNull] IConditionalRemovingExpressionVisitorFactory conditionalRemovingExpressionVisitorFactory, [NotNull] IQueryFlattenerFactory queryFlattenerFactory, [NotNull] IDbContextOptions contextOptions, [NotNull] RelationalQueryCompilationContext queryCompilationContext, [CanBeNull] RelationalQueryModelVisitor parentQueryModelVisitor) : base( Check.NotNull(queryOptimizer, nameof(queryOptimizer)), Check.NotNull(navigationRewritingExpressionVisitorFactory, nameof(navigationRewritingExpressionVisitorFactory)), Check.NotNull(subQueryMemberPushDownExpressionVisitor, nameof(subQueryMemberPushDownExpressionVisitor)), Check.NotNull(querySourceTracingExpressionVisitorFactory, nameof(querySourceTracingExpressionVisitorFactory)), Check.NotNull(entityResultFindingExpressionVisitorFactory, nameof(entityResultFindingExpressionVisitorFactory)), Check.NotNull(taskBlockingExpressionVisitor, nameof(taskBlockingExpressionVisitor)), Check.NotNull(memberAccessBindingExpressionVisitorFactory, nameof(memberAccessBindingExpressionVisitorFactory)), Check.NotNull(orderingExpressionVisitorFactory, nameof(orderingExpressionVisitorFactory)), Check.NotNull(projectionExpressionVisitorFactory, nameof(projectionExpressionVisitorFactory)), Check.NotNull(entityQueryableExpressionVisitorFactory, nameof(entityQueryableExpressionVisitorFactory)), Check.NotNull(queryAnnotationExtractor, nameof(queryAnnotationExtractor)), Check.NotNull(resultOperatorHandler, nameof(resultOperatorHandler)), Check.NotNull(entityMaterializerSource, nameof(entityMaterializerSource)), Check.NotNull(expressionPrinter, nameof(expressionPrinter)), Check.NotNull(queryCompilationContext, nameof(queryCompilationContext))) { Check.NotNull(relationalAnnotationProvider, nameof(relationalAnnotationProvider)); Check.NotNull(includeExpressionVisitorFactory, nameof(includeExpressionVisitorFactory)); Check.NotNull(sqlTranslatingExpressionVisitorFactory, nameof(sqlTranslatingExpressionVisitorFactory)); Check.NotNull(compositePredicateExpressionVisitorFactory, nameof(compositePredicateExpressionVisitorFactory)); Check.NotNull(conditionalRemovingExpressionVisitorFactory, nameof(conditionalRemovingExpressionVisitorFactory)); Check.NotNull(queryFlattenerFactory, nameof(queryFlattenerFactory)); Check.NotNull(contextOptions, nameof(contextOptions)); _relationalAnnotationProvider = relationalAnnotationProvider; _includeExpressionVisitorFactory = includeExpressionVisitorFactory; _sqlTranslatingExpressionVisitorFactory = sqlTranslatingExpressionVisitorFactory; _compositePredicateExpressionVisitorFactory = compositePredicateExpressionVisitorFactory; _conditionalRemovingExpressionVisitorFactory = conditionalRemovingExpressionVisitorFactory; _queryFlattenerFactory = queryFlattenerFactory; ContextOptions = contextOptions; ParentQueryModelVisitor = parentQueryModelVisitor; }
public virtual void RegisterSubQueryVisitor( [NotNull] IQuerySource querySource, [NotNull] RelationalQueryModelVisitor queryModelVisitor) { Check.NotNull(querySource, nameof(querySource)); Check.NotNull(queryModelVisitor, nameof(queryModelVisitor)); _subQueryModelVisitorsBySource.Add(querySource, queryModelVisitor); }
public RelationalQueryModelVisitor(EntityQueryModelVisitorDependencies dependencies, RelationalQueryModelVisitorDependencies relationalDependencies, RelationalQueryCompilationContext queryCompilationContext, Microsoft.EntityFrameworkCore.Query.RelationalQueryModelVisitor parentQueryModelVisitor) : base(dependencies, relationalDependencies, queryCompilationContext, parentQueryModelVisitor) { _compositePredicateExpressionVisitorFactory = relationalDependencies.CompositePredicateExpressionVisitorFactory; _dependencies = dependencies; _queryCompilationContext = queryCompilationContext; }