/// <summary> /// Creates a new instance of the <see cref="ShapedQueryCompilingExpressionVisitor" /> class. /// </summary> /// <param name="dependencies">Parameter object containing dependencies for this class.</param> /// <param name="queryCompilationContext">The query compilation context object to use.</param> protected ShapedQueryCompilingExpressionVisitor( ShapedQueryCompilingExpressionVisitorDependencies dependencies, QueryCompilationContext queryCompilationContext) { Dependencies = dependencies; QueryCompilationContext = queryCompilationContext; _entityMaterializerInjectingExpressionVisitor = new EntityMaterializerInjectingExpressionVisitor( dependencies.EntityMaterializerSource, queryCompilationContext.QueryTrackingBehavior); _constantVerifyingExpressionVisitor = new ConstantVerifyingExpressionVisitor(dependencies.TypeMappingSource); if (queryCompilationContext.IsAsync) { _cancellationTokenParameter = Expression.MakeMemberAccess( QueryCompilationContext.QueryContextParameter, _cancellationTokenMemberInfo); } else { _cancellationTokenParameter = null !; } }
/// <summary> /// Creates a new instance of the <see cref="ShapedQueryCompilingExpressionVisitor" /> class. /// </summary> /// <param name="dependencies"> Parameter object containing dependencies for this class. </param> /// <param name="queryCompilationContext"> The query compilation context object to use. </param> protected ShapedQueryCompilingExpressionVisitor( [NotNull] ShapedQueryCompilingExpressionVisitorDependencies dependencies, [NotNull] QueryCompilationContext queryCompilationContext) { Check.NotNull(dependencies, nameof(dependencies)); Check.NotNull(queryCompilationContext, nameof(queryCompilationContext)); Dependencies = dependencies; QueryCompilationContext = queryCompilationContext; _entityMaterializerInjectingExpressionVisitor = new EntityMaterializerInjectingExpressionVisitor( dependencies.EntityMaterializerSource, queryCompilationContext.IsTracking, queryCompilationContext.PerformIdentityResolution); _constantVerifyingExpressionVisitor = new ConstantVerifyingExpressionVisitor(dependencies.TypeMappingSource); if (queryCompilationContext.IsAsync) { _cancellationTokenParameter = Expression.MakeMemberAccess( QueryCompilationContext.QueryContextParameter, _cancellationTokenMemberInfo); } }