/// <summary> /// Creates a new instance of the <see cref="QueryCompilationContext" /> class. /// </summary> /// <param name="dependencies"> Parameter object containing dependencies for this class. </param> /// <param name="async"> A bool value indicating whether it is for async query. </param> public QueryCompilationContext( QueryCompilationContextDependencies dependencies, bool async) { Check.NotNull(dependencies, nameof(dependencies)); Dependencies = dependencies; IsAsync = async; QueryTrackingBehavior = dependencies.QueryTrackingBehavior; IsBuffering = dependencies.IsRetryingExecutionStrategy; Model = dependencies.Model; ContextOptions = dependencies.ContextOptions; ContextType = dependencies.ContextType; Logger = dependencies.Logger; _queryTranslationPreprocessorFactory = dependencies.QueryTranslationPreprocessorFactory; _queryableMethodTranslatingExpressionVisitorFactory = dependencies.QueryableMethodTranslatingExpressionVisitorFactory; _queryTranslationPostprocessorFactory = dependencies.QueryTranslationPostprocessorFactory; _shapedQueryCompilingExpressionVisitorFactory = dependencies.ShapedQueryCompilingExpressionVisitorFactory; _expressionPrinter = new ExpressionPrinter(); }
public QueryCompilationContext( IModel model, IQueryOptimizerFactory queryOptimizerFactory, IQueryableMethodTranslatingExpressionVisitorFactory queryableMethodTranslatingExpressionVisitorFactory, IShapedQueryOptimizerFactory shapedQueryOptimizerFactory, IShapedQueryCompilingExpressionVisitorFactory shapedQueryCompilingExpressionVisitorFactory, ICurrentDbContext currentDbContext, IDbContextOptions contextOptions, IDiagnosticsLogger <DbLoggerCategory.Query> logger, bool async) { Async = async; TrackQueryResults = currentDbContext.Context.ChangeTracker.QueryTrackingBehavior == QueryTrackingBehavior.TrackAll; Model = model; ContextOptions = contextOptions; ContextType = currentDbContext.Context.GetType(); Logger = logger; _queryOptimizerFactory = queryOptimizerFactory; _queryableMethodTranslatingExpressionVisitorFactory = queryableMethodTranslatingExpressionVisitorFactory; _shapedQueryOptimizerFactory = shapedQueryOptimizerFactory; _shapedQueryCompilingExpressionVisitorFactory = shapedQueryCompilingExpressionVisitorFactory; }