Пример #1
0
        /// <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 !;
            }
        }
Пример #2
0
        /// <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);
            }
        }
Пример #3
0
 public ShapedQueryCompilingExpressionVisitor(IEntityMaterializerSource entityMaterializerSource, bool trackQueryResults, bool async)
 {
     _entityMaterializerSource = entityMaterializerSource;
     TrackQueryResults         = trackQueryResults;
     _entityMaterializerInjectingExpressionVisitor =
         new EntityMaterializerInjectingExpressionVisitor(entityMaterializerSource, trackQueryResults);
     Async = async;
     if (async)
     {
         _cancellationTokenParameter = Expression.MakeMemberAccess(
             QueryCompilationContext.QueryContextParameter,
             _cancellationTokenMemberInfo);
     }
 }
Пример #4
0
 protected ShapedQueryCompilingExpressionVisitor(
     QueryCompilationContext queryCompilationContext,
     IEntityMaterializerSource entityMaterializerSource)
 {
     _entityMaterializerSource = entityMaterializerSource;
     TrackQueryResults         = queryCompilationContext.TrackQueryResults;
     _entityMaterializerInjectingExpressionVisitor =
         new EntityMaterializerInjectingExpressionVisitor(entityMaterializerSource, TrackQueryResults);
     Async = queryCompilationContext.Async;
     if (Async)
     {
         _cancellationTokenParameter = Expression.MakeMemberAccess(
             QueryCompilationContext.QueryContextParameter,
             _cancellationTokenMemberInfo);
     }
 }
 protected ShapedQueryCompilingExpressionVisitor(
     QueryCompilationContext queryCompilationContext,
     IEntityMaterializerSource entityMaterializerSource)
 {
     _entityMaterializerSource = entityMaterializerSource;
     IsTracking = queryCompilationContext.IsTracking;
     _entityMaterializerInjectingExpressionVisitor =
         new EntityMaterializerInjectingExpressionVisitor(entityMaterializerSource, IsTracking);
     IsAsync = queryCompilationContext.IsAsync;
     if (IsAsync)
     {
         _cancellationTokenParameter = Expression.MakeMemberAccess(
             QueryCompilationContext.QueryContextParameter,
             _cancellationTokenMemberInfo);
     }
 }
Пример #6
0
        protected ShapedQueryCompilingExpressionVisitor(
            QueryCompilationContext queryCompilationContext,
            ShapedQueryCompilingExpressionVisitorDependencies dependencies)
        {
            Dependencies = dependencies;

            IsTracking = queryCompilationContext.IsTracking;

            _entityMaterializerInjectingExpressionVisitor =
                new EntityMaterializerInjectingExpressionVisitor(
                    dependencies.EntityMaterializerSource,
                    queryCompilationContext.IsTracking);

            IsAsync = queryCompilationContext.IsAsync;

            if (queryCompilationContext.IsAsync)
            {
                _cancellationTokenParameter = Expression.MakeMemberAccess(
                    QueryCompilationContext.QueryContextParameter,
                    _cancellationTokenMemberInfo);
            }
        }