/// <summary> /// <para> /// Creates the service dependencies parameter object for a <see cref="RelationalQueryModelVisitorFactory" />. /// </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> public RelationalQueryModelVisitorDependencies( [NotNull] IRelationalResultOperatorHandler relationalResultOperatorHandler, [NotNull] IRelationalAnnotationProvider relationalAnnotationProvider, [NotNull] IIncludeExpressionVisitorFactory includeExpressionVisitorFactory, [NotNull] ISqlTranslatingExpressionVisitorFactory sqlTranslatingExpressionVisitorFactory, [NotNull] ICompositePredicateExpressionVisitorFactory compositePredicateExpressionVisitorFactory, [NotNull] IConditionalRemovingExpressionVisitorFactory conditionalRemovingExpressionVisitorFactory, [NotNull] IQueryFlattenerFactory queryFlattenerFactory, [NotNull] IDbContextOptions contextOptions) { Check.NotNull(relationalResultOperatorHandler, nameof(relationalResultOperatorHandler)); 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)); RelationalResultOperatorHandler = relationalResultOperatorHandler; RelationalAnnotationProvider = relationalAnnotationProvider; IncludeExpressionVisitorFactory = includeExpressionVisitorFactory; SqlTranslatingExpressionVisitorFactory = sqlTranslatingExpressionVisitorFactory; CompositePredicateExpressionVisitorFactory = compositePredicateExpressionVisitorFactory; ConditionalRemovingExpressionVisitorFactory = conditionalRemovingExpressionVisitorFactory; QueryFlattenerFactory = queryFlattenerFactory; ContextOptions = contextOptions; }
/// <summary> /// Clones this dependency parameter object with one service replaced. /// </summary> /// <param name="conditionalRemovingExpressionVisitorFactory"> A replacement for the current dependency of this type. </param> /// <returns> A new parameter object with the given service replaced. </returns> public RelationalQueryModelVisitorDependencies With([NotNull] IConditionalRemovingExpressionVisitorFactory conditionalRemovingExpressionVisitorFactory) => new RelationalQueryModelVisitorDependencies( RelationalResultOperatorHandler, SqlTranslatingExpressionVisitorFactory, CompositePredicateExpressionVisitorFactory, conditionalRemovingExpressionVisitorFactory, ContextOptions);
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 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; }
/// <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 RelationalQueryModelVisitorFactory( [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) { 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; }
/// <summary> /// <para> /// Creates the service dependencies parameter object for a <see cref="RelationalQueryModelVisitorFactory" />. /// </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> public RelationalQueryModelVisitorDependencies( [NotNull] IRelationalResultOperatorHandler relationalResultOperatorHandler, [NotNull] ISqlTranslatingExpressionVisitorFactory sqlTranslatingExpressionVisitorFactory, [NotNull] ICompositePredicateExpressionVisitorFactory compositePredicateExpressionVisitorFactory, [NotNull] IConditionalRemovingExpressionVisitorFactory conditionalRemovingExpressionVisitorFactory, [NotNull] IDbContextOptions contextOptions) { Check.NotNull(relationalResultOperatorHandler, nameof(relationalResultOperatorHandler)); Check.NotNull(sqlTranslatingExpressionVisitorFactory, nameof(sqlTranslatingExpressionVisitorFactory)); Check.NotNull(compositePredicateExpressionVisitorFactory, nameof(compositePredicateExpressionVisitorFactory)); Check.NotNull(conditionalRemovingExpressionVisitorFactory, nameof(conditionalRemovingExpressionVisitorFactory)); Check.NotNull(contextOptions, nameof(contextOptions)); RelationalResultOperatorHandler = relationalResultOperatorHandler; SqlTranslatingExpressionVisitorFactory = sqlTranslatingExpressionVisitorFactory; CompositePredicateExpressionVisitorFactory = compositePredicateExpressionVisitorFactory; ConditionalRemovingExpressionVisitorFactory = conditionalRemovingExpressionVisitorFactory; ContextOptions = contextOptions; }