public QueryCompilationContextDependencies( [NotNull] IModel model, [NotNull] IQueryTranslationPreprocessorFactory queryTranslationPreprocessorFactory, [NotNull] IQueryableMethodTranslatingExpressionVisitorFactory queryableMethodTranslatingExpressionVisitorFactory, [NotNull] IQueryTranslationPostprocessorFactory queryTranslationPostprocessorFactory, [NotNull] IShapedQueryCompilingExpressionVisitorFactory shapedQueryCompilingExpressionVisitorFactory, [NotNull] IExecutionStrategyFactory executionStrategyFactory, [NotNull] ICurrentDbContext currentContext, [NotNull] IDbContextOptions contextOptions, [NotNull] IDiagnosticsLogger <DbLoggerCategory.Query> logger) { Check.NotNull(model, nameof(model)); Check.NotNull(queryTranslationPreprocessorFactory, nameof(queryTranslationPreprocessorFactory)); Check.NotNull(queryableMethodTranslatingExpressionVisitorFactory, nameof(queryableMethodTranslatingExpressionVisitorFactory)); Check.NotNull(queryTranslationPostprocessorFactory, nameof(queryTranslationPostprocessorFactory)); Check.NotNull(shapedQueryCompilingExpressionVisitorFactory, nameof(shapedQueryCompilingExpressionVisitorFactory)); Check.NotNull(executionStrategyFactory, nameof(executionStrategyFactory)); Check.NotNull(currentContext, nameof(currentContext)); Check.NotNull(contextOptions, nameof(contextOptions)); Check.NotNull(logger, nameof(logger)); _currentContext = currentContext; Model = model; QueryTranslationPreprocessorFactory = queryTranslationPreprocessorFactory; QueryableMethodTranslatingExpressionVisitorFactory = queryableMethodTranslatingExpressionVisitorFactory; QueryTranslationPostprocessorFactory = queryTranslationPostprocessorFactory; ShapedQueryCompilingExpressionVisitorFactory = shapedQueryCompilingExpressionVisitorFactory; _executionStrategyFactory = executionStrategyFactory; IsRetryingExecutionStrategy = executionStrategyFactory.Create().RetriesOnFailure; ContextOptions = contextOptions; Logger = logger; }
public QueryCompilationContext( IModel model, IQueryOptimizerFactory queryOptimizerFactory, IEntityQueryableTranslatorFactory entityQuerableTranslatorFactory, 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; _entityQueryableTranslatorFactory = entityQuerableTranslatorFactory; _queryableMethodTranslatingExpressionVisitorFactory = queryableMethodTranslatingExpressionVisitorFactory; _shapedQueryOptimizerFactory = shapedQueryOptimizerFactory; _shapedQueryCompilingExpressionVisitorFactory = shapedQueryCompilingExpressionVisitorFactory; }
public QueryCompilationContextDependencies( [NotNull] IModel model, [NotNull] IQueryOptimizerFactory queryOptimizerFactory, [NotNull] IQueryableMethodTranslatingExpressionVisitorFactory queryableMethodTranslatingExpressionVisitorFactory, [NotNull] IShapedQueryOptimizerFactory shapedQueryOptimizerFactory, [NotNull] IShapedQueryCompilingExpressionVisitorFactory shapedQueryCompilingExpressionVisitorFactory, [NotNull] ICurrentDbContext currentContext, [NotNull] IDbContextOptions contextOptions, [NotNull] IDiagnosticsLogger <DbLoggerCategory.Query> logger) { Check.NotNull(model, nameof(model)); Check.NotNull(queryOptimizerFactory, nameof(queryOptimizerFactory)); Check.NotNull(queryableMethodTranslatingExpressionVisitorFactory, nameof(queryableMethodTranslatingExpressionVisitorFactory)); Check.NotNull(shapedQueryOptimizerFactory, nameof(shapedQueryOptimizerFactory)); Check.NotNull(shapedQueryCompilingExpressionVisitorFactory, nameof(shapedQueryCompilingExpressionVisitorFactory)); Check.NotNull(currentContext, nameof(currentContext)); Check.NotNull(contextOptions, nameof(contextOptions)); Check.NotNull(logger, nameof(logger)); CurrentContext = currentContext; Model = model; QueryOptimizerFactory = queryOptimizerFactory; QueryableMethodTranslatingExpressionVisitorFactory = queryableMethodTranslatingExpressionVisitorFactory; ShapedQueryOptimizerFactory = shapedQueryOptimizerFactory; ShapedQueryCompilingExpressionVisitorFactory = shapedQueryCompilingExpressionVisitorFactory; ContextOptions = contextOptions; Logger = logger; }
/// <summary> /// Clones this dependency parameter object with one service replaced. /// </summary> /// <param name="shapedQueryCompilingExpressionVisitorFactory"> A replacement for the current dependency of this type. </param> /// <returns> A new parameter object with the given service replaced. </returns> public QueryCompilationContextDependencies With( [NotNull] IShapedQueryCompilingExpressionVisitorFactory shapedQueryCompilingExpressionVisitorFactory) => new QueryCompilationContextDependencies( Model, QueryOptimizerFactory, QueryableMethodTranslatingExpressionVisitorFactory, ShapedQueryOptimizerFactory, shapedQueryCompilingExpressionVisitorFactory, CurrentContext, ContextOptions, Logger);
/// <summary> /// Clones this dependency parameter object with one service replaced. /// </summary> /// <param name="shapedQueryCompilingExpressionVisitorFactory"> A replacement for the current dependency of this type. </param> /// <returns> A new parameter object with the given service replaced. </returns> public QueryCompilationContextDependencies With( [NotNull] IShapedQueryCompilingExpressionVisitorFactory shapedQueryCompilingExpressionVisitorFactory) => new QueryCompilationContextDependencies( Model, QueryTranslationPreprocessorFactory, QueryableMethodTranslatingExpressionVisitorFactory, QueryTranslationPostprocessorFactory, shapedQueryCompilingExpressionVisitorFactory, _executionStrategyFactory, _currentContext, ContextOptions, Logger);
public QueryCompilationContextFactory2( IModel model, IQueryOptimizerFactory queryOptimizerFactory, IEntityQueryableTranslatorFactory entityQueryableTranslatorFactory, IQueryableMethodTranslatingExpressionVisitorFactory queryableMethodTranslatingExpressionVisitorFactory, IShapedQueryOptimizerFactory shapedQueryOptimizerFactory, IShapedQueryCompilingExpressionVisitorFactory shapedQueryCompilingExpressionVisitorFactory, ICurrentDbContext currentDbContext) { _model = model; _queryOptimizerFactory = queryOptimizerFactory; _entityQueryableTranslatorFactory = entityQueryableTranslatorFactory; _queryableMethodTranslatingExpressionVisitorFactory = queryableMethodTranslatingExpressionVisitorFactory; _shapedQueryOptimizerFactory = shapedQueryOptimizerFactory; _shapedQueryCompilingExpressionVisitorFactory = shapedQueryCompilingExpressionVisitorFactory; _currentDbContext = currentDbContext; }
public QueryCompilationContext( QueryCompilationContextDependencies dependencies, bool async) { IsAsync = async; IsTracking = dependencies.IsTracking; 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; }
public QueryCompilationContext( QueryCompilationContextDependencies dependencies, bool async) { var context = dependencies.CurrentContext.Context; IsAsync = async; IsTracking = context.ChangeTracker.QueryTrackingBehavior == QueryTrackingBehavior.TrackAll; Model = dependencies.Model; ContextOptions = dependencies.ContextOptions; ContextType = context.GetType(); Logger = dependencies.Logger; _queryTranslationPreprocessorFactory = dependencies.QueryTranslationPreprocessorFactory; _queryableMethodTranslatingExpressionVisitorFactory = dependencies.QueryableMethodTranslatingExpressionVisitorFactory; _queryTranslationPostprocessorFactory = dependencies.QueryTranslationPostprocessorFactory; _shapedQueryCompilingExpressionVisitorFactory = dependencies.ShapedQueryCompilingExpressionVisitorFactory; }
public QueryCompilationContextFactory( IModel model, IQueryOptimizerFactory queryOptimizerFactory, IQueryableMethodTranslatingExpressionVisitorFactory queryableMethodTranslatingExpressionVisitorFactory, IShapedQueryOptimizerFactory shapedQueryOptimizerFactory, IShapedQueryCompilingExpressionVisitorFactory shapedQueryCompilingExpressionVisitorFactory, ICurrentDbContext currentDbContext, IDbContextOptions contextOptions, IDiagnosticsLogger <DbLoggerCategory.Query> logger) { _model = model; _queryOptimizerFactory = queryOptimizerFactory; _queryableMethodTranslatingExpressionVisitorFactory = queryableMethodTranslatingExpressionVisitorFactory; _shapedQueryOptimizerFactory = shapedQueryOptimizerFactory; _shapedQueryCompilingExpressionVisitorFactory = shapedQueryCompilingExpressionVisitorFactory; _currentDbContext = currentDbContext; _contextOptions = contextOptions; _logger = logger; }
public QueryCompilationContext2( IModel model, IQueryOptimizerFactory queryOptimizerFactory, IEntityQueryableTranslatorFactory entityQuerableTranslatorFactory, IQueryableMethodTranslatingExpressionVisitorFactory queryableMethodTranslatingExpressionVisitorFactory, IShapedQueryOptimizerFactory shapedQueryOptimizerFactory, IShapedQueryCompilingExpressionVisitorFactory shapedQueryCompilingExpressionVisitorFactory, ICurrentDbContext currentDbContext, bool async) { Async = async; TrackQueryResults = currentDbContext.Context.ChangeTracker.QueryTrackingBehavior == QueryTrackingBehavior.TrackAll; Model = model; _queryOptimizerFactory = queryOptimizerFactory; _entityQueryableTranslatorFactory = entityQuerableTranslatorFactory; _queryableMethodTranslatingExpressionVisitorFactory = queryableMethodTranslatingExpressionVisitorFactory; _shapedQueryOptimizerFactory = shapedQueryOptimizerFactory; _shapedQueryCompilingExpressionVisitorFactory = shapedQueryCompilingExpressionVisitorFactory; }
/// <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) { Dependencies = dependencies; IsAsync = async; QueryTrackingBehavior = dependencies.QueryTrackingBehavior; IsBuffering = ExecutionStrategy.Current?.RetriesOnFailure ?? 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(); }
/// <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( [NotNull] 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; }