다음을 통해 공유


EntityQueryModelVisitor 클래스

정의

실행할 쿼리를 처리하는 핵심 방문자입니다.

이 형식은 일반적으로 데이터베이스 공급자(및 기타 확장)에서 사용됩니다. 일반적으로 애플리케이션 코드에는 사용되지 않습니다.

public abstract class EntityQueryModelVisitor : Remotion.Linq.QueryModelVisitorBase
type EntityQueryModelVisitor = class
    inherit QueryModelVisitorBase
Public MustInherit Class EntityQueryModelVisitor
Inherits QueryModelVisitorBase
상속
Remotion.Linq.QueryModelVisitorBase
EntityQueryModelVisitor
파생

생성자

EntityQueryModelVisitor(EntityQueryModelVisitorDependencies, QueryCompilationContext)

EntityQueryModelVisitor 클래스의 새 인스턴스를 초기화합니다.

EntityQueryModelVisitor(IQueryOptimizer, INavigationRewritingExpressionVisitorFactory, ISubQueryMemberPushDownExpressionVisitor, IQuerySourceTracingExpressionVisitorFactory, IEntityResultFindingExpressionVisitorFactory, ITaskBlockingExpressionVisitor, IMemberAccessBindingExpressionVisitorFactory, IOrderingExpressionVisitorFactory, IProjectionExpressionVisitorFactory, IEntityQueryableExpressionVisitorFactory, IQueryAnnotationExtractor, IResultOperatorHandler, IEntityMaterializerSource, IExpressionPrinter, QueryCompilationContext)

EntityQueryModelVisitor 클래스의 새 인스턴스를 초기화합니다.

필드

QueryContextParameter

쿼리에 대한 매개 변수를 QueryContext 참조하는 식입니다.

속성

CurrentParameter

현재 매개 변수의 식을 가져옵니다.

Expression

이 쿼리를 나타내는 식을 가져옵니다.

LinqOperatorProvider

이 쿼리에 Microsoft.EntityFrameworkCore.Query.Internal.ILinqOperatorProvider 사용되는 를 가져옵니다.

QueryCompilationContext

이 쿼리에 QueryCompilationContext 사용되는 를 가져옵니다.

SelectAsyncMethod

_SelectAsync 메서드 정보입니다.

메서드

AddOrUpdateMapping(IQuerySource, Expression)

쿼리 원본에 매핑된 식을 추가하거나 업데이트합니다.

BindMemberExpression(MemberExpression, Action<IProperty,IQuerySource>)

멤버 식을 바인딩합니다.

BindMemberExpression<TResult>(MemberExpression, IQuerySource, Func<IProperty,IQuerySource,TResult>)

멤버 식을 바인딩합니다.

BindMemberToValueBuffer(MemberExpression, Expression)

멤버 액세스를 값 버퍼 액세스에 바인딩합니다.

BindMethodCallExpression(MethodCallExpression, Action<IProperty,IQuerySource>)

메서드 호출 식을 바인딩합니다.

BindMethodCallExpression<TResult>(MethodCallExpression, Func<IProperty,IQuerySource,TResult>)

메서드 호출 식을 바인딩합니다.

BindMethodCallExpression<TResult>(MethodCallExpression, IQuerySource, Func<IProperty,IQuerySource,TResult>)

메서드 호출 식을 바인딩합니다.

BindMethodCallToEntity(MethodCallExpression, MethodCallExpression)

CLR 또는 섀도 속성 액세스에 메서드 호출을 바인딩합니다.

BindMethodCallToValueBuffer(MethodCallExpression, Expression)

값 버퍼 액세스에 메서드 호출을 바인딩합니다.

BindNavigationPathPropertyExpression<TResult>(Expression, Func<IEnumerable<IPropertyBase>,IQuerySource,TResult>)

탐색 경로 속성 식을 바인딩합니다.

BindNavigationPathPropertyExpression<TResult>(Expression, Func<IReadOnlyList<IPropertyBase>,IQuerySource,TResult>)

탐색 경로 속성 식을 바인딩합니다.

BindReadValueMethod(Type, Expression, Int32, IProperty)

값 버퍼 읽기를 바인딩합니다.

BindReadValueMethod(Type, Expression, Int32)

값 버퍼 읽기를 바인딩합니다.

CallCreateTransparentIdentifier(Type, Expression, Expression)

이 API는 Entity Framework Core 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 API는 이후 릴리스에서 변경되거나 제거될 수 있습니다.

CanOptimizeCorrelatedCollections()

상관 관계가 있는 컬렉션(있는 경우)을 최적화할 수 있는지 여부를 결정합니다.

CompileAdditionalFromClauseExpression(AdditionalFromClause, QueryModel)

노드를 Remotion.Linq.Clauses.AdditionalFromClause 컴파일합니다.

CompileGroupJoinInnerSequenceExpression(GroupJoinClause, QueryModel)

노드를 Remotion.Linq.Clauses.GroupJoinClause 컴파일합니다.

CompileJoinClauseInnerSequenceExpression(JoinClause, QueryModel)

노드를 Remotion.Linq.Clauses.JoinClause 컴파일합니다.

CompileMainFromClauseExpression(MainFromClause, QueryModel)

노드를 Remotion.Linq.Clauses.MainFromClause 컴파일합니다.

CreateAsyncQueryExecutor<TResult>(QueryModel)

이 쿼리를 비동기적으로 실행하는 작업을 만듭니다.

CreateExecutorLambda<TResults>()

이 쿼리를 실행하는 작업을 만듭니다.

CreatePropertyExpression(Expression, IProperty)

지정된 엔터티의 지정된 속성에 액세스하는 식을 만듭니다.

CreateQueryExecutor<TResult>(QueryModel)

이 쿼리를 실행하는 작업을 만듭니다.

CreateTransparentIdentifierType(Type, Type)

이 API는 Entity Framework Core 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 API는 이후 릴리스에서 변경되거나 제거될 수 있습니다.

ExtractQueryAnnotations(QueryModel)

QueryAnnotations 쿼리에 있는 주석을 기준으로 채웁니다.

IncludeNavigations(IncludeSpecification, Type, Expression, Boolean)

LINQ 쿼리에서 요청된 특정 탐색 속성을 포함합니다.

IncludeNavigations(QueryModel, IReadOnlyCollection<IncludeSpecification>)

LINQ 쿼리에서 요청된 관련 데이터를 포함합니다.

IncludeNavigations(QueryModel)

LINQ 쿼리에서 요청된 관련 데이터를 포함합니다.

InterceptExceptions()

쿼리를 실행하고 발생하는 모든 예외를 기록합니다.

IntroduceTransparentScope(IQuerySource, QueryModel, Int32, Type)

이 API는 Entity Framework Core 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 이 API는 이후 릴리스에서 변경되거나 제거될 수 있습니다.

IsPropertyMethod(MethodInfo)

가 메서드를 MethodInfo 참조하는지 여부를 확인합니다 Property<TProperty>(Object, String) .

OnBeforeNavigationRewrite(QueryModel)

탐색을 다시 작성하기 전에 쿼리 모델을 미리 처리합니다.

OptimizeQueryModel(QueryModel, Boolean)

쿼리에 최적화를 적용합니다.

OptimizeQueryModel(QueryModel)

쿼리에 최적화를 적용합니다.

RemoveOrderings(QueryModel)

지정된 쿼리 모델에 대한 순서를 제거합니다.

ReplaceClauseReferences(Expression, IQuerySource, Boolean)

다시 linq 쿼리 모델 식을 컴파일된 쿼리 식으로 변환합니다.

RewriteProjectedCollectionNavigationsToIncludes(QueryModel)
사용되지 않음.

Include 파이프라인에서 처리할 수 있도록 컬렉션 탐색 프로젝션을 다시 작성합니다.

ShouldApplyDefiningQuery(IEntityType, IQuerySource)

대상 엔터티 형식을 쿼리할 때 정의 쿼리를 적용해야 하는지 여부를 결정합니다.

SingleResultToSequence(QueryModel, Type)

쿼리 결과를 단일 결과에서 일련의 결과로 변환합니다.

TrackEntitiesInResults<TResult>(QueryModel)

추적 동작을 쿼리에 적용합니다.

VisitAdditionalFromClause(AdditionalFromClause, QueryModel, Int32)

노드를 방문 Remotion.Linq.Clauses.AdditionalFromClause 합니다.

VisitGroupJoinClause(GroupJoinClause, QueryModel, Int32)

방문 Remotion.Linq.Clauses.GroupJoinClause 노드

VisitJoinClause(JoinClause, QueryModel, Int32)

노드를 방문 Remotion.Linq.Clauses.JoinClause 합니다.

VisitMainFromClause(MainFromClause, QueryModel)

노드를 방문합니다 Remotion.Linq.Clauses.MainFromClause .

VisitOrdering(Ordering, QueryModel, OrderByClause, Int32)

노드를 방문 Remotion.Linq.Clauses.Ordering 합니다.

VisitQueryModel(QueryModel)

루트 Remotion.Linq.QueryModel 노드를 방문합니다.

VisitResultOperator(ResultOperatorBase, QueryModel, Int32)

노드를 방문 Remotion.Linq.Clauses.ResultOperatorBase 합니다.

VisitSelectClause(SelectClause, QueryModel)

노드를 방문 Remotion.Linq.Clauses.SelectClause 합니다.

VisitWhereClause(WhereClause, QueryModel, Int32)

노드를 방문 Remotion.Linq.Clauses.WhereClause 합니다.

적용 대상