public ReplaceSqlServerQueryModelVisitor(IQueryOptimizer queryOptimizer
                                          , INavigationRewritingExpressionVisitorFactory navigationRewritingExpressionVisitorFactory
                                          , ISubQueryMemberPushDownExpressionVisitor subQueryMemberPushDownExpressionVisitor
                                          , IQuerySourceTracingExpressionVisitorFactory querySourceTracingExpressionVisitorFactory
                                          , IEntityResultFindingExpressionVisitorFactory entityResultFindingExpressionVisitorFactory
                                          , ITaskBlockingExpressionVisitor taskBlockingExpressionVisitor
                                          , IMemberAccessBindingExpressionVisitorFactory memberAccessBindingExpressionVisitorFactory
                                          , IOrderingExpressionVisitorFactory orderingExpressionVisitorFactory
                                          , IProjectionExpressionVisitorFactory projectionExpressionVisitorFactory
                                          , IEntityQueryableExpressionVisitorFactory entityQueryableExpressionVisitorFactory
                                          , IQueryAnnotationExtractor queryAnnotationExtractor
                                          , IResultOperatorHandler resultOperatorHandler
                                          , IEntityMaterializerSource entityMaterializerSource
                                          , IExpressionPrinter expressionPrinter
                                          , IRelationalAnnotationProvider relationalAnnotationProvider
                                          , IIncludeExpressionVisitorFactory includeExpressionVisitorFactory
                                          , ISqlTranslatingExpressionVisitorFactory sqlTranslatingExpressionVisitorFactory
                                          , ICompositePredicateExpressionVisitorFactory compositePredicateExpressionVisitorFactory
                                          , IConditionalRemovingExpressionVisitorFactory conditionalRemovingExpressionVisitorFactory
                                          , IQueryFlattenerFactory queryFlattenerFactory
                                          , IDbContextOptions contextOptions
                                          , RelationalQueryCompilationContext queryCompilationContext
                                          , SqlServerQueryModelVisitor parentQueryModelVisitor
                                          , INavigationExpressionCollection collection) : base(queryOptimizer, navigationRewritingExpressionVisitorFactory, subQueryMemberPushDownExpressionVisitor, querySourceTracingExpressionVisitorFactory, entityResultFindingExpressionVisitorFactory, taskBlockingExpressionVisitor, memberAccessBindingExpressionVisitorFactory, orderingExpressionVisitorFactory, projectionExpressionVisitorFactory, entityQueryableExpressionVisitorFactory, queryAnnotationExtractor, resultOperatorHandler, entityMaterializerSource, expressionPrinter, relationalAnnotationProvider, includeExpressionVisitorFactory, sqlTranslatingExpressionVisitorFactory, compositePredicateExpressionVisitorFactory, conditionalRemovingExpressionVisitorFactory, queryFlattenerFactory, contextOptions, queryCompilationContext, parentQueryModelVisitor)
 {
     ExpressionCollection = collection;
 }
 public MyEntityQueryModelVisitorFactory(
     IQueryOptimizer queryOptimizer,
     INavigationRewritingExpressionVisitorFactory navigationRewritingExpressionVisitorFactory,
     ISubQueryMemberPushDownExpressionVisitor subQueryMemberPushDownExpressionVisitor,
     IQuerySourceTracingExpressionVisitorFactory querySourceTracingExpressionVisitorFactory,
     IEntityResultFindingExpressionVisitorFactory entityResultFindingExpressionVisitorFactory,
     ITaskBlockingExpressionVisitor taskBlockingExpressionVisitor,
     IMemberAccessBindingExpressionVisitorFactory memberAccessBindingExpressionVisitorFactory,
     IOrderingExpressionVisitorFactory orderingExpressionVisitorFactory,
     IProjectionExpressionVisitorFactory projectionExpressionVisitorFactory,
     IEntityQueryableExpressionVisitorFactory entityQueryableExpressionVisitorFactory,
     IQueryAnnotationExtractor queryAnnotationExtractor,
     IResultOperatorHandler resultOperatorHandler,
     IEntityMaterializerSource entityMaterializerSource,
     IExpressionPrinter expressionPrinter)
     : base(
         queryOptimizer,
         navigationRewritingExpressionVisitorFactory,
         subQueryMemberPushDownExpressionVisitor,
         querySourceTracingExpressionVisitorFactory,
         entityResultFindingExpressionVisitorFactory,
         taskBlockingExpressionVisitor,
         memberAccessBindingExpressionVisitorFactory,
         orderingExpressionVisitorFactory,
         projectionExpressionVisitorFactory,
         entityQueryableExpressionVisitorFactory,
         queryAnnotationExtractor,
         resultOperatorHandler,
         entityMaterializerSource,
         expressionPrinter)
 {
 }
 public LiteDBEntityQueryModelVisitorFactory(
     IQueryOptimizer queryOptimizer,
     INavigationRewritingExpressionVisitorFactory navigationRewritingExpressionVisitorFactory,
     ISubQueryMemberPushDownExpressionVisitor subQueryMemberPushDownExpressionVisitor,
     IQuerySourceTracingExpressionVisitorFactory querySourceTracingExpressionVisitorFactory,
     IEntityResultFindingExpressionVisitorFactory entityResultFindingExpressionVisitorFactory,
     ITaskBlockingExpressionVisitor taskBlockingExpressionVisitor,
     IMemberAccessBindingExpressionVisitorFactory memberAccessBindingExpressionVisitorFactory,
     IOrderingExpressionVisitorFactory orderingExpressionVisitorFactory,
     IProjectionExpressionVisitorFactory projectionExpressionVisitorFactory,
     IEntityQueryableExpressionVisitorFactory entityQueryableExpressionVisitorFactory,
     IQueryAnnotationExtractor queryAnnotationExtractor,
     IResultOperatorHandler resultOperatorHandler,
     IEntityMaterializerSource entityMaterializerSource,
     IExpressionPrinter expressionPrinter)
     : base(queryOptimizer,
            navigationRewritingExpressionVisitorFactory,
            subQueryMemberPushDownExpressionVisitor,
            querySourceTracingExpressionVisitorFactory,
            entityResultFindingExpressionVisitorFactory,
            taskBlockingExpressionVisitor,
            memberAccessBindingExpressionVisitorFactory,
            orderingExpressionVisitorFactory,
            projectionExpressionVisitorFactory,
            entityQueryableExpressionVisitorFactory,
            queryAnnotationExtractor,
            resultOperatorHandler,
            entityMaterializerSource,
            expressionPrinter)
 {
 }
 public MongoDbEntityQueryModelVisitor(
     [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] QueryCompilationContext queryCompilationContext)
     : base(
         queryOptimizer,
         navigationRewritingExpressionVisitorFactory,
         subQueryMemberPushDownExpressionVisitor,
         querySourceTracingExpressionVisitorFactory,
         entityResultFindingExpressionVisitorFactory,
         taskBlockingExpressionVisitor,
         memberAccessBindingExpressionVisitorFactory,
         orderingExpressionVisitorFactory,
         projectionExpressionVisitorFactory,
         entityQueryableExpressionVisitorFactory,
         queryAnnotationExtractor,
         resultOperatorHandler,
         entityMaterializerSource,
         expressionPrinter,
         queryCompilationContext)
 {
 }
Пример #5
0
        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 RelationalQueryModelVisitorFactory(
            [NotNull] IModel model,
            [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] IQueryFlatteningExpressionVisitorFactory queryFlatteningExpressionVisitorFactory,
            [NotNull] IShapedQueryFindingExpressionVisitorFactory shapedQueryFindingExpressionVisitorFactory,
            [NotNull] IDbContextOptions contextOptions)
            : base(
                model,
                queryOptimizer,
                navigationRewritingExpressionVisitorFactory,
                subQueryMemberPushDownExpressionVisitor,
                querySourceTracingExpressionVisitorFactory,
                entityResultFindingExpressionVisitorFactory,
                taskBlockingExpressionVisitor,
                memberAccessBindingExpressionVisitorFactory,
                orderingExpressionVisitorFactory,
                projectionExpressionVisitorFactory,
                entityQueryableExpressionVisitorFactory,
                queryAnnotationExtractor,
                resultOperatorHandler,
                entityMaterializerSource,
                expressionPrinter)
        {
            Check.NotNull(relationalAnnotationProvider, nameof(relationalAnnotationProvider));
            Check.NotNull(includeExpressionVisitorFactory, nameof(includeExpressionVisitorFactory));
            Check.NotNull(sqlTranslatingExpressionVisitorFactory, nameof(sqlTranslatingExpressionVisitorFactory));
            Check.NotNull(compositePredicateExpressionVisitorFactory, nameof(compositePredicateExpressionVisitorFactory));
            Check.NotNull(queryFlatteningExpressionVisitorFactory, nameof(queryFlatteningExpressionVisitorFactory));
            Check.NotNull(shapedQueryFindingExpressionVisitorFactory, nameof(shapedQueryFindingExpressionVisitorFactory));
            Check.NotNull(contextOptions, nameof(contextOptions));

            RelationalAnnotationProvider               = relationalAnnotationProvider;
            IncludeExpressionVisitorFactory            = includeExpressionVisitorFactory;
            SqlTranslatingExpressionVisitorFactory     = sqlTranslatingExpressionVisitorFactory;
            CompositePredicateExpressionVisitorFactory = compositePredicateExpressionVisitorFactory;
            QueryFlatteningExpressionVisitorFactory    = queryFlatteningExpressionVisitorFactory;
            ShapedQueryFindingExpressionVisitorFactory = shapedQueryFindingExpressionVisitorFactory;
            ContextOptions = contextOptions;
        }
Пример #7
0
 public SqlServerQueryModelVisitor(
     [NotNull] IModel model,
     [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] IQueryFlatteningExpressionVisitorFactory queryFlatteningExpressionVisitorFactory,
     [NotNull] IShapedQueryFindingExpressionVisitorFactory shapedQueryFindingExpressionVisitorFactory,
     [NotNull] IDbContextOptions contextOptions,
     [NotNull] RelationalQueryCompilationContext queryCompilationContext,
     // ReSharper disable once SuggestBaseTypeForParameter
     [CanBeNull] SqlServerQueryModelVisitor parentQueryModelVisitor)
     : base(
         Check.NotNull(model, nameof(model)),
         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(relationalAnnotationProvider, nameof(relationalAnnotationProvider)),
         Check.NotNull(includeExpressionVisitorFactory, nameof(includeExpressionVisitorFactory)),
         Check.NotNull(sqlTranslatingExpressionVisitorFactory, nameof(sqlTranslatingExpressionVisitorFactory)),
         Check.NotNull(compositePredicateExpressionVisitorFactory, nameof(compositePredicateExpressionVisitorFactory)),
         Check.NotNull(queryFlatteningExpressionVisitorFactory, nameof(queryFlatteningExpressionVisitorFactory)),
         Check.NotNull(shapedQueryFindingExpressionVisitorFactory, nameof(queryFlatteningExpressionVisitorFactory)),
         Check.NotNull(contextOptions, nameof(contextOptions)),
         Check.NotNull(queryCompilationContext, nameof(queryCompilationContext)),
         parentQueryModelVisitor)
 {
 }
Пример #8
0
        protected EntityQueryModelVisitor(
            [NotNull] IModel model,
            [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] QueryCompilationContext queryCompilationContext)
        {
            Check.NotNull(model, nameof(model));
            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));

            Model = model;

            _queryOptimizer = queryOptimizer;
            _navigationRewritingExpressionVisitorFactory = navigationRewritingExpressionVisitorFactory;
            _subQueryMemberPushDownExpressionVisitor     = subQueryMemberPushDownExpressionVisitor;
            _querySourceTracingExpressionVisitorFactory  = querySourceTracingExpressionVisitorFactory;
            _entityResultFindingExpressionVisitorFactory = entityResultFindingExpressionVisitorFactory;
            _taskBlockingExpressionVisitor = taskBlockingExpressionVisitor;
            _memberAccessBindingExpressionVisitorFactory = memberAccessBindingExpressionVisitorFactory;
            _projectionExpressionVisitorFactory          = projectionExpressionVisitorFactory;
            _entityQueryableExpressionVisitorFactory     = entityQueryableExpressionVisitorFactory;
            _queryAnnotationExtractor = queryAnnotationExtractor;
            _resultOperatorHandler    = resultOperatorHandler;
            _entityMaterializerSource = entityMaterializerSource;
            _expressionPrinter        = expressionPrinter;
            _queryCompilationContext  = queryCompilationContext;
        }
 /// <summary>
 ///     Clones this dependency parameter object with one service replaced.
 /// </summary>
 /// <param name="entityResultFindingExpressionVisitorFactory"> A replacement for the current dependency of this type. </param>
 /// <returns> A new parameter object with the given service replaced. </returns>
 public EntityQueryModelVisitorDependencies With([NotNull] IEntityResultFindingExpressionVisitorFactory entityResultFindingExpressionVisitorFactory)
 => new EntityQueryModelVisitorDependencies(
     QueryOptimizer,
     NavigationRewritingExpressionVisitorFactory,
     QuerySourceTracingExpressionVisitorFactory,
     entityResultFindingExpressionVisitorFactory,
     TaskBlockingExpressionVisitor,
     MemberAccessBindingExpressionVisitorFactory,
     ProjectionExpressionVisitorFactory,
     EntityQueryableExpressionVisitorFactory,
     QueryAnnotationExtractor,
     ResultOperatorHandler,
     EntityMaterializerSource,
     ExpressionPrinter);
        /// <summary>
        ///     <para>
        ///         Creates the service dependencies parameter object for a <see cref="EntityQueryModelVisitorFactory" />.
        ///     </para>
        ///     <para>
        ///         This API supports the Entity Framework Core infrastructure and is not intended to be used
        ///         directly from your code. This API may change or be removed in future releases.
        ///     </para>
        ///     <para>
        ///         Do not call this constructor directly from either provider or application code as it may change
        ///         as new dependencies are added. Instead, use this type in your constructor so that an instance
        ///         will be created and injected automatically by the dependency injection container. To create
        ///         an instance with some dependent services replaced, first resolve the object from the dependency
        ///         injection container, then replace selected services using the 'With...' methods. Do not call
        ///         the constructor at any point in this process.
        ///     </para>
        /// </summary>
        /// <param name="queryOptimizer"> The <see cref="IQueryOptimizer" /> to be used when processing the query. </param>
        /// <param name="navigationRewritingExpressionVisitorFactory">
        ///     The <see cref="INavigationRewritingExpressionVisitorFactory" /> to be used when
        ///     processing the query.
        /// </param>
        /// <param name="querySourceTracingExpressionVisitorFactory">
        ///     The <see cref="IQuerySourceTracingExpressionVisitorFactory" /> to be used when
        ///     processing the query.
        /// </param>
        /// <param name="entityResultFindingExpressionVisitorFactory">
        ///     The <see cref="IEntityResultFindingExpressionVisitorFactory" /> to be used when
        ///     processing the query.
        /// </param>
        /// <param name="eagerLoadingExpressionVisitorFactory">
        ///     The <see cref="IEagerLoadingExpressionVisitorFactory" /> to be used when
        ///     processing the query.
        /// </param>
        /// <param name="taskBlockingExpressionVisitor"> The <see cref="ITaskBlockingExpressionVisitor" /> to be used when processing the query. </param>
        /// <param name="memberAccessBindingExpressionVisitorFactory">
        ///     The <see cref="IMemberAccessBindingExpressionVisitorFactory" /> to be used when
        ///     processing the query.
        /// </param>
        /// <param name="projectionExpressionVisitorFactory">
        ///     The <see cref="IProjectionExpressionVisitorFactory" /> to be used when processing the
        ///     query.
        /// </param>
        /// <param name="entityQueryableExpressionVisitorFactory">
        ///     The <see cref="IEntityQueryableExpressionVisitorFactory" /> to be used when
        ///     processing the query.
        /// </param>
        /// <param name="queryAnnotationExtractor"> The <see cref="IQueryAnnotationExtractor" /> to be used when processing the query. </param>
        /// <param name="resultOperatorHandler"> The <see cref="IResultOperatorHandler" /> to be used when processing the query. </param>
        /// <param name="entityMaterializerSource"> The <see cref="IEntityMaterializerSource" /> to be used when processing the query. </param>
        /// <param name="expressionPrinter"> The <see cref="IExpressionPrinter" /> to be used when processing the query. </param>
        /// <param name="queryModelGenerator"> The <see cref="IQueryModelGenerator" /> to be used when processing the query. </param>
        public EntityQueryModelVisitorDependencies(
            [NotNull] IQueryOptimizer queryOptimizer,
            [NotNull] INavigationRewritingExpressionVisitorFactory navigationRewritingExpressionVisitorFactory,
            [NotNull] IQuerySourceTracingExpressionVisitorFactory querySourceTracingExpressionVisitorFactory,
            [NotNull] IEntityResultFindingExpressionVisitorFactory entityResultFindingExpressionVisitorFactory,
            [NotNull] IEagerLoadingExpressionVisitorFactory eagerLoadingExpressionVisitorFactory,
            [NotNull] ITaskBlockingExpressionVisitor taskBlockingExpressionVisitor,
            [NotNull] IMemberAccessBindingExpressionVisitorFactory memberAccessBindingExpressionVisitorFactory,
            [NotNull] IProjectionExpressionVisitorFactory projectionExpressionVisitorFactory,
            [NotNull] IEntityQueryableExpressionVisitorFactory entityQueryableExpressionVisitorFactory,
            [NotNull] IQueryAnnotationExtractor queryAnnotationExtractor,
            [NotNull] IResultOperatorHandler resultOperatorHandler,
            [NotNull] IEntityMaterializerSource entityMaterializerSource,
            [NotNull] IExpressionPrinter expressionPrinter,
            [NotNull] IQueryModelGenerator queryModelGenerator)
        {
            Check.NotNull(queryOptimizer, nameof(queryOptimizer));
            Check.NotNull(navigationRewritingExpressionVisitorFactory, nameof(navigationRewritingExpressionVisitorFactory));
            Check.NotNull(querySourceTracingExpressionVisitorFactory, nameof(querySourceTracingExpressionVisitorFactory));
            Check.NotNull(entityResultFindingExpressionVisitorFactory, nameof(entityResultFindingExpressionVisitorFactory));
            Check.NotNull(eagerLoadingExpressionVisitorFactory, nameof(eagerLoadingExpressionVisitorFactory));
            Check.NotNull(taskBlockingExpressionVisitor, nameof(taskBlockingExpressionVisitor));
            Check.NotNull(memberAccessBindingExpressionVisitorFactory, nameof(memberAccessBindingExpressionVisitorFactory));
            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(queryModelGenerator, nameof(queryModelGenerator));

            QueryOptimizer = queryOptimizer;
            NavigationRewritingExpressionVisitorFactory = navigationRewritingExpressionVisitorFactory;
            QuerySourceTracingExpressionVisitorFactory  = querySourceTracingExpressionVisitorFactory;
            EntityResultFindingExpressionVisitorFactory = entityResultFindingExpressionVisitorFactory;
            EagerLoadingExpressionVisitorFactory        = eagerLoadingExpressionVisitorFactory;
            TaskBlockingExpressionVisitor = taskBlockingExpressionVisitor;
            MemberAccessBindingExpressionVisitorFactory = memberAccessBindingExpressionVisitorFactory;
            ProjectionExpressionVisitorFactory          = projectionExpressionVisitorFactory;
            EntityQueryableExpressionVisitorFactory     = entityQueryableExpressionVisitorFactory;
            QueryAnnotationExtractor = queryAnnotationExtractor;
            ResultOperatorHandler    = resultOperatorHandler;
            EntityMaterializerSource = entityMaterializerSource;
            ExpressionPrinter        = expressionPrinter;
            QueryModelGenerator      = queryModelGenerator;
        }
        protected EntityQueryModelVisitorFactory(
            [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)
        {
            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));

            QueryOptimizer = queryOptimizer;
            NavigationRewritingExpressionVisitorFactory = navigationRewritingExpressionVisitorFactory;
            SubQueryMemberPushDownExpressionVisitor     = subQueryMemberPushDownExpressionVisitor;
            QuerySourceTracingExpressionVisitorFactory  = querySourceTracingExpressionVisitorFactory;
            EntityResultFindingExpressionVisitorFactory = entityResultFindingExpressionVisitorFactory;
            TaskBlockingExpressionVisitor = taskBlockingExpressionVisitor;
            MemberAccessBindingExpressionVisitorFactory = memberAccessBindingExpressionVisitorFactory;
            OrderingExpressionVisitorFactory            = orderingExpressionVisitorFactory;
            ProjectionExpressionVisitorFactory          = projectionExpressionVisitorFactory;
            EntityQueryableExpressionVisitorFactory     = entityQueryableExpressionVisitorFactory;
            QueryAnnotationExtractor = queryAnnotationExtractor;
            ResultOperatorHandler    = resultOperatorHandler;
            EntityMaterializerSource = entityMaterializerSource;
            ExpressionPrinter        = expressionPrinter;
        }
 /// <summary>
 ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
 ///     directly from your code. This API may change or be removed in future releases.
 /// </summary>
 public SqlServerQueryModelVisitorFactory(
     [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)
     : base(
         queryOptimizer,
         navigationRewritingExpressionVisitorFactory,
         subQueryMemberPushDownExpressionVisitor,
         querySourceTracingExpressionVisitorFactory,
         entityResultFindingExpressionVisitorFactory,
         taskBlockingExpressionVisitor,
         memberAccessBindingExpressionVisitorFactory,
         orderingExpressionVisitorFactory,
         projectionExpressionVisitorFactory,
         entityQueryableExpressionVisitorFactory,
         queryAnnotationExtractor,
         resultOperatorHandler,
         entityMaterializerSource,
         expressionPrinter,
         relationalAnnotationProvider,
         includeExpressionVisitorFactory,
         sqlTranslatingExpressionVisitorFactory,
         compositePredicateExpressionVisitorFactory,
         conditionalRemovingExpressionVisitorFactory,
         queryFlattenerFactory,
         contextOptions)
 {
 }
        public InMemoryQueryModelVisitor(
            [NotNull] IModel model,
            [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] IMaterializerFactory materializerFactory,
            [NotNull] QueryCompilationContext queryCompilationContext)
            : base(
                Check.NotNull(model, nameof(model)),
                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(materializerFactory, nameof(materializerFactory));

            _materializerFactory = materializerFactory;
        }
Пример #14
0
        public InMemoryQueryModelVisitorFactory(
            [NotNull] IModel model,
            [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] IMaterializerFactory materializerFactory)
            : base(
                model,
                queryOptimizer,
                navigationRewritingExpressionVisitorFactory,
                subQueryMemberPushDownExpressionVisitor,
                querySourceTracingExpressionVisitorFactory,
                entityResultFindingExpressionVisitorFactory,
                taskBlockingExpressionVisitor,
                memberAccessBindingExpressionVisitorFactory,
                orderingExpressionVisitorFactory,
                projectionExpressionVisitorFactory,
                entityQueryableExpressionVisitorFactory,
                queryAnnotationExtractor,
                resultOperatorHandler,
                entityMaterializerSource,
                expressionPrinter)
        {
            Check.NotNull(materializerFactory, nameof(materializerFactory));

            MaterializerFactory = materializerFactory;
        }
 /// <summary>
 /// Initialises a new instance of <see cref="RelationalQueryModelVisitor"/>
 /// </summary>
 public RelationalQueryModelVisitor(IModel model, IQueryOptimizer queryOptimizer, INavigationRewritingExpressionVisitorFactory navigationRewritingExpressionVisitorFactory, ISubQueryMemberPushDownExpressionVisitor subQueryMemberPushDownExpressionVisitor, IQuerySourceTracingExpressionVisitorFactory querySourceTracingExpressionVisitorFactory, IEntityResultFindingExpressionVisitorFactory entityResultFindingExpressionVisitorFactory, ITaskBlockingExpressionVisitor taskBlockingExpressionVisitor, IMemberAccessBindingExpressionVisitorFactory memberAccessBindingExpressionVisitorFactory, IOrderingExpressionVisitorFactory orderingExpressionVisitorFactory, IProjectionExpressionVisitorFactory projectionExpressionVisitorFactory, IEntityQueryableExpressionVisitorFactory entityQueryableExpressionVisitorFactory, IQueryAnnotationExtractor queryAnnotationExtractor, IResultOperatorHandler resultOperatorHandler, IEntityMaterializerSource entityMaterializerSource, IExpressionPrinter expressionPrinter, IRelationalAnnotationProvider relationalAnnotationProvider, IIncludeExpressionVisitorFactory includeExpressionVisitorFactory, ISqlTranslatingExpressionVisitorFactory sqlTranslatingExpressionVisitorFactory, ICompositePredicateExpressionVisitorFactory compositePredicateExpressionVisitorFactory, IQueryFlatteningExpressionVisitorFactory queryFlatteningExpressionVisitorFactory, IShapedQueryFindingExpressionVisitorFactory shapedQueryFindingExpressionVisitorFactory, IDbContextOptions contextOptions, RelationalQueryCompilationContext queryCompilationContext, EFRelationalQueryModelVisitor parentQueryModelVisitor)
     : base(model, queryOptimizer, navigationRewritingExpressionVisitorFactory, subQueryMemberPushDownExpressionVisitor, querySourceTracingExpressionVisitorFactory, entityResultFindingExpressionVisitorFactory, taskBlockingExpressionVisitor, memberAccessBindingExpressionVisitorFactory, orderingExpressionVisitorFactory, projectionExpressionVisitorFactory, entityQueryableExpressionVisitorFactory, queryAnnotationExtractor, resultOperatorHandler, entityMaterializerSource, expressionPrinter, relationalAnnotationProvider, includeExpressionVisitorFactory, sqlTranslatingExpressionVisitorFactory, compositePredicateExpressionVisitorFactory, queryFlatteningExpressionVisitorFactory, shapedQueryFindingExpressionVisitorFactory, contextOptions, queryCompilationContext, parentQueryModelVisitor)
 {
 }