Sdílet prostřednictvím


EntityQueryModelVisitor Třída

Definice

Hlavní návštěvník, který zpracovává dotaz, který se má spustit.

Tento typ obvykle používají poskytovatelé databáze (a další rozšíření). Obecně se nepoužívá v kódu aplikace.

public abstract class EntityQueryModelVisitor : Remotion.Linq.QueryModelVisitorBase
type EntityQueryModelVisitor = class
    inherit QueryModelVisitorBase
Public MustInherit Class EntityQueryModelVisitor
Inherits QueryModelVisitorBase
Dědičnost
Remotion.Linq.QueryModelVisitorBase
EntityQueryModelVisitor
Odvozené

Konstruktory

EntityQueryModelVisitor(EntityQueryModelVisitorDependencies, QueryCompilationContext)

Inicializuje novou instanci EntityQueryModelVisitor třídy.

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

Inicializuje novou instanci EntityQueryModelVisitor třídy.

Pole

QueryContextParameter

Výraz, který odkazuje na QueryContext parametr dotazu.

Vlastnosti

CurrentParameter

Získá výraz pro aktuální parametr.

Expression

Získá výraz, který představuje tento dotaz.

LinqOperatorProvider

Microsoft.EntityFrameworkCore.Query.Internal.ILinqOperatorProvider Získá hodnotu, která se používá pro tento dotaz.

QueryCompilationContext

QueryCompilationContext Získá hodnotu, která se používá pro tento dotaz.

SelectAsyncMethod

Informace o metodě _SelectAsync.

Metody

AddOrUpdateMapping(IQuerySource, Expression)

Přidá nebo aktualizuje výraz mapovaný na zdroj dotazu.

BindMemberExpression(MemberExpression, Action<IProperty,IQuerySource>)

Vytvoří vazbu výrazu člena.

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

Vytvoří vazbu výrazu člena.

BindMemberToValueBuffer(MemberExpression, Expression)

Vytvoří vazbu přístupu člena k přístupu k hodnotové vyrovnávací paměti.

BindMethodCallExpression(MethodCallExpression, Action<IProperty,IQuerySource>)

Vytvoří vazbu výrazu volání metody.

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

Vytvoří vazbu výrazu volání metody.

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

Vytvoří vazbu výrazu volání metody.

BindMethodCallToEntity(MethodCallExpression, MethodCallExpression)

Vytvoří vazbu volání metody na přístup k CLR nebo stín vlastnosti.

BindMethodCallToValueBuffer(MethodCallExpression, Expression)

Vytvoří vazbu volání metody na přístup k vyrovnávací paměti hodnoty.

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

Vytvoří vazbu výrazu vlastnosti navigační cesty.

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

Vytvoří vazbu výrazu vlastnosti navigační cesty.

BindReadValueMethod(Type, Expression, Int32)

Vytvoří vazbu na hodnotu vyrovnávací paměti přečtené.

BindReadValueMethod(Type, Expression, Int32, IProperty)

Vytvoří vazbu na hodnotu vyrovnávací paměti přečtené.

CallCreateTransparentIdentifier(Type, Expression, Expression)

Toto rozhraní API podporuje infrastrukturu Entity Framework Core a není určeno k použití přímo z vašeho kódu. Toto rozhraní API se může v budoucích verzích změnit nebo odebrat.

CanOptimizeCorrelatedCollections()

Určuje, jestli je možné optimalizovat korelované kolekce (pokud existují).

CompileAdditionalFromClauseExpression(AdditionalFromClause, QueryModel)

Remotion.Linq.Clauses.AdditionalFromClause Zkompiluje uzly.

CompileGroupJoinInnerSequenceExpression(GroupJoinClause, QueryModel)

Remotion.Linq.Clauses.GroupJoinClause Zkompiluje uzly.

CompileJoinClauseInnerSequenceExpression(JoinClause, QueryModel)

Remotion.Linq.Clauses.JoinClause Zkompiluje uzly.

CompileMainFromClauseExpression(MainFromClause, QueryModel)

Remotion.Linq.Clauses.MainFromClause Zkompiluje uzel.

CreateAsyncQueryExecutor<TResult>(QueryModel)

Vytvoří akci pro asynchronní spuštění tohoto dotazu.

CreateExecutorLambda<TResults>()

Vytvoří akci ke spuštění tohoto dotazu.

CreatePropertyExpression(Expression, IProperty)

Vytvoří výraz pro přístup k dané vlastnosti u dané entity.

CreateQueryExecutor<TResult>(QueryModel)

Vytvoří akci ke spuštění tohoto dotazu.

CreateTransparentIdentifierType(Type, Type)

Toto rozhraní API podporuje infrastrukturu Entity Framework Core a není určeno k použití přímo z vašeho kódu. Toto rozhraní API se může v budoucích verzích změnit nebo odebrat.

ExtractQueryAnnotations(QueryModel)

Vyplní QueryAnnotations na základě poznámek nalezených v dotazu.

IncludeNavigations(IncludeSpecification, Type, Expression, Boolean)

Zahrnuje konkrétní navigační vlastnost požadovanou v dotazu LINQ.

IncludeNavigations(QueryModel)

Zahrnuje související data požadovaná v dotazu LINQ.

IncludeNavigations(QueryModel, IReadOnlyCollection<IncludeSpecification>)

Zahrnuje související data požadovaná v dotazu LINQ.

InterceptExceptions()

Spustí dotaz a zaznamená všechny výjimky, ke kterým dojde.

IntroduceTransparentScope(IQuerySource, QueryModel, Int32, Type)

Toto rozhraní API podporuje infrastrukturu Entity Framework Core a není určeno k použití přímo z vašeho kódu. Toto rozhraní API se může v budoucích verzích změnit nebo odebrat.

IsPropertyMethod(MethodInfo)

Určuje, jestli odkazuje MethodInfo na metodu Property<TProperty>(Object, String) .

OnBeforeNavigationRewrite(QueryModel)

Předepíšeme dotazovací model před přepsáním jeho navigace.

OptimizeQueryModel(QueryModel)

Použije pro dotaz optimalizace.

OptimizeQueryModel(QueryModel, Boolean)

Použije pro dotaz optimalizace.

RemoveOrderings(QueryModel)

Odebere řazení pro daný model dotazu.

ReplaceClauseReferences(Expression, IQuerySource, Boolean)

Převede výraz modelu dotazu re-linq na zkompilovaný výraz dotazu.

RewriteProjectedCollectionNavigationsToIncludes(QueryModel)
Zastaralé..

Přepíše navigační projekce kolekce tak, aby je mohl zpracovat kanál Zahrnutí.

ShouldApplyDefiningQuery(IEntityType, IQuerySource)

Určete, jestli se má při dotazování typu cílové entity použít definující dotaz.

SingleResultToSequence(QueryModel, Type)

Převede výsledky dotazu z jednoho výsledku na řadu výsledků.

TrackEntitiesInResults<TResult>(QueryModel)

Použije na dotaz sledování chování.

VisitAdditionalFromClause(AdditionalFromClause, QueryModel, Int32)

Navštěvuje Remotion.Linq.Clauses.AdditionalFromClause uzly.

VisitGroupJoinClause(GroupJoinClause, QueryModel, Int32)

Uzly návštěv Remotion.Linq.Clauses.GroupJoinClause

VisitJoinClause(JoinClause, QueryModel, Int32)

Navštěvuje Remotion.Linq.Clauses.JoinClause uzly.

VisitMainFromClause(MainFromClause, QueryModel)

Navštíví uzel Remotion.Linq.Clauses.MainFromClause .

VisitOrdering(Ordering, QueryModel, OrderByClause, Int32)

Navštěvuje Remotion.Linq.Clauses.Ordering uzly.

VisitQueryModel(QueryModel)

Navštíví kořenový Remotion.Linq.QueryModel uzel.

VisitResultOperator(ResultOperatorBase, QueryModel, Int32)

Navštěvuje Remotion.Linq.Clauses.ResultOperatorBase uzly.

VisitSelectClause(SelectClause, QueryModel)

Navštěvuje Remotion.Linq.Clauses.SelectClause uzly.

VisitWhereClause(WhereClause, QueryModel, Int32)

Navštěvuje Remotion.Linq.Clauses.WhereClause uzly.

Platí pro