Sdílet prostřednictvím


RelationalQueryableMethodTranslatingExpressionVisitor Třída

Definice

Třída, která překládá dotazovatelné metody v dotazu.

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

public class RelationalQueryableMethodTranslatingExpressionVisitor : Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor
type RelationalQueryableMethodTranslatingExpressionVisitor = class
    inherit QueryableMethodTranslatingExpressionVisitor
Public Class RelationalQueryableMethodTranslatingExpressionVisitor
Inherits QueryableMethodTranslatingExpressionVisitor
Dědičnost
RelationalQueryableMethodTranslatingExpressionVisitor

Konstruktory

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, IModel)

Třída, která překládá dotazovatelné metody v dotazu.

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

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, QueryCompilationContext)

Vytvoří novou instanci třídy QueryableMethodTranslatingExpressionVisitor.

RelationalQueryableMethodTranslatingExpressionVisitor(RelationalQueryableMethodTranslatingExpressionVisitor)

Vytvoří novou instanci třídy QueryableMethodTranslatingExpressionVisitor.

Vlastnosti

Dependencies

Závislosti pro tuto službu.

(Zděděno od QueryableMethodTranslatingExpressionVisitor)
QueryCompilationContext

Kontextový objekt kompilace dotazu pro aktuální kompilaci.

(Zděděno od QueryableMethodTranslatingExpressionVisitor)
RelationalDependencies

Závislosti specifické pro relačního zprostředkovatele pro tuto službu.

TranslationErrorDetails

Podrobné informace o chybách, ke kterým došlo během překladu.

(Zděděno od QueryableMethodTranslatingExpressionVisitor)

Metody

AddTranslationErrorDetails(String)

Přidá podrobné informace o chybách, ke kterým došlo během překladu.

(Zděděno od QueryableMethodTranslatingExpressionVisitor)
ApplyInferredTypeMappings(Expression, IReadOnlyDictionary<ValueTuple<TableExpressionBase,String>,RelationalTypeMapping>)

Vyvolána na konci překladu nejvyšší úrovně, použije odvozené mapování typů pro dotazovatelné konstanty/parametry a ověří, že všechny SqlExpression mají mapování typů.

CreateShapedQueryExpression(IEntityType)

Vytvoří pro ShapedQueryExpression daný typ entity.

CreateShapedQueryExpression(IEntityType)

Vytvoří pro ShapedQueryExpression daný typ entity.

(Zděděno od QueryableMethodTranslatingExpressionVisitor)
CreateShapedQueryExpression(Type)
Zastaralé.

ShapedQueryExpression Vytvoří objekt pro daný typ vyhledáním jeho typu entity v modelu.

CreateShapedQueryExpression(Type)
Zastaralé.

ShapedQueryExpression Vytvoří objekt pro daný typ vyhledáním jeho typu entity v modelu.

(Zděděno od QueryableMethodTranslatingExpressionVisitor)
CreateSubqueryVisitor()

Vytvoří návštěvníka přizpůsobený k překladu poddotazu prostřednictvím TranslateSubquery(Expression).

IsNaturallyOrdered(SelectExpression)

Určuje, jestli je dané pořadí SelectExpression přirozeně, což znamená, že ef automaticky přidal jakékoli pořadí, aby se zachovalo například přirozené pořadí pole JSON, a ne proto, že původní dotaz LINQ obsahoval explicitní řazení.

IsOrdered(SelectExpression)

Určuje, zda je daná položka SelectExpression seřazená, obvykle proto, že do ní byly přidány řazení.

IsValidSelectExpressionForExecuteDelete(SelectExpression, EntityShaperExpression, TableExpression)

Kontroluje počasí a aktuální výraz select se dá použít k provedení operace odstranění tak, jak je, nebo jestli se musí vložit do poddotazu.

IsValidSelectExpressionForExecuteDelete(SelectExpression, StructuralTypeShaperExpression, TableExpression)

Kontroluje počasí aktuálního výrazu select, který se dá použít k provedení operace odstranění tak, jak je, nebo jestli se musí vložit do poddotazu.

IsValidSelectExpressionForExecuteUpdate(SelectExpression, EntityShaperExpression, TableExpression)

Ověří, jestli se aktuální výraz select dá použít k provedení operace aktualizace, nebo jestli vyžaduje připojení jako poddotaz.

IsValidSelectExpressionForExecuteUpdate(SelectExpression, TableExpressionBase, TableExpression)

Ověří, jestli se aktuální výraz select dá použít k provedení operace aktualizace, nebo jestli vyžaduje připojení jako poddotaz.

MarkShaperNullable(Expression)

Označí tvarovač entity v daném výrazu shaperu jako s možnou hodnotou null.

(Zděděno od QueryableMethodTranslatingExpressionVisitor)
TransformJsonQueryToTable(JsonQueryExpression)

Vyvolá se, když se operátory LINQ skládají nad kolekcí v dokumentu JSON. Převede poskytnutý JsonQueryExpression objekt představující přístup ke kolekci na prostředek specifický pro zprostředkovatele, který rozšíří pole JSON na relační tabulku nebo sadu řádků (např. SQL Server OPENJSON).

Translate(Expression)

Přeloží výraz na ekvivalentní reprezentaci SQL.

Translate(Expression)

Přeloží výraz na ekvivalentní reprezentaci SQL.

(Zděděno od QueryableMethodTranslatingExpressionVisitor)
TranslateAll(ShapedQueryExpression, LambdaExpression)

Přeloží All<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) metodu nad daným zdrojem.

TranslateAny(ShapedQueryExpression, LambdaExpression)

Přeloží Any<TSource>(IQueryable<TSource>) metodu a další přetížení nad daným zdrojem.

TranslateAverage(ShapedQueryExpression, LambdaExpression, Type)

Přeloží Average(IQueryable<Decimal>) metodu a další přetížení nad daným zdrojem.

TranslateCast(ShapedQueryExpression, Type)

Přeloží Cast<TResult>(IQueryable) metodu nad daným zdrojem.

TranslateConcat(ShapedQueryExpression, ShapedQueryExpression)

Přeloží Concat<TSource>(IQueryable<TSource>, IEnumerable<TSource>) metodu nad daným zdrojem.

TranslateContains(ShapedQueryExpression, Expression)

Přeloží Contains<TSource>(IQueryable<TSource>, TSource) metodu nad daným zdrojem.

TranslateCount(ShapedQueryExpression, LambdaExpression)

Přeloží Count<TSource>(IQueryable<TSource>) metodu a další přetížení nad daným zdrojem.

TranslateDefaultIfEmpty(ShapedQueryExpression, Expression)

Přeloží DefaultIfEmpty<TSource>(IQueryable<TSource>) metodu a další přetížení nad daným zdrojem.

TranslateDistinct(ShapedQueryExpression)

Přeloží Distinct<TSource>(IQueryable<TSource>) metodu nad daným zdrojem.

TranslateElementAtOrDefault(ShapedQueryExpression, Expression, Boolean)

Přeloží ElementAt<TSource>(IQueryable<TSource>, Int32) metodu nebo ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) nad daným zdrojem.

TranslateExcept(ShapedQueryExpression, ShapedQueryExpression)

Přeloží Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) metodu nad daným zdrojem.

TranslateExecuteDelete(ShapedQueryExpression)

Přeloží ExecuteDelete<TSource>(IQueryable<TSource>) metodu nad daným zdrojem.

TranslateExecuteUpdate(ShapedQueryExpression, LambdaExpression)

Přeloží ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>) metodu nad daným zdrojem.

TranslateExpression(Expression)

Přeloží daný výraz na ekvivalentní reprezentaci SQL.

TranslateExpression(Expression, Boolean)

Přeloží daný výraz na ekvivalentní reprezentaci SQL.

TranslateFirstOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

Přeloží First<TSource>(IQueryable<TSource>) metodu nebo FirstOrDefault<TSource>(IQueryable<TSource>) jejich další přetížení nad daným zdrojem.

TranslateGroupBy(ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

Přeloží GroupBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) metodu a další přetížení nad daným zdrojem.

TranslateGroupJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

Přeloží GroupJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,IEnumerable<TInner>,TResult>>) metodu nad daným zdrojem.

TranslateIntersect(ShapedQueryExpression, ShapedQueryExpression)

Přeloží Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) metodu nad daným zdrojem.

TranslateJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

Přeloží Join<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) metodu nad daným zdrojem.

TranslateLambdaExpression(ShapedQueryExpression, LambdaExpression)

Přeloží daný výraz lambda pro ShapedQueryExpression zdroj na ekvivalentní reprezentaci SQL.

TranslateLastOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

Přeloží Last<TSource>(IQueryable<TSource>) metodu nebo LastOrDefault<TSource>(IQueryable<TSource>) jejich další přetížení nad daným zdrojem.

TranslateLeftJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

Přeloží LeftJoin přes daný zdroj.

TranslateLongCount(ShapedQueryExpression, LambdaExpression)

Přeloží LongCount<TSource>(IQueryable<TSource>) metodu a další přetížení nad daným zdrojem.

TranslateMax(ShapedQueryExpression, LambdaExpression, Type)

Přeloží Max<TSource>(IQueryable<TSource>) metodu a další přetížení nad daným zdrojem.

TranslateMin(ShapedQueryExpression, LambdaExpression, Type)

Přeloží Min<TSource>(IQueryable<TSource>) metodu a další přetížení nad daným zdrojem.

TranslateOfType(ShapedQueryExpression, Type)

Přeloží OfType<TResult>(IQueryable) metodu nad daným zdrojem.

TranslateOrderBy(ShapedQueryExpression, LambdaExpression, Boolean)

Přeloží OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) nebo OrderByDescending<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) metodu nad daným zdrojem.

TranslatePrimitiveCollection(SqlExpression, IProperty, String)

Přeloží kolekci parametrů nebo sloupců primitivních hodnot. Zprostředkovatelé můžou tuto možnost přepsat, aby přeložily například sloupce int[] nebo parametry do dotazovatelné tabulky (OPENJSON v SQL Server, nenest v PostgreSQL...). Výchozí implementace vždy vrátí null (bez překladu).

TranslateResultSelectorForJoin(ShapedQueryExpression, LambdaExpression, Expression, Type)
Zastaralé.

Přeloží volič výsledků pro operaci spojení.

(Zděděno od QueryableMethodTranslatingExpressionVisitor)
TranslateReverse(ShapedQueryExpression)

Přeloží Reverse<TSource>(IQueryable<TSource>) metodu nad daným zdrojem.

TranslateSelect(ShapedQueryExpression, LambdaExpression)

Přeloží Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) metodu nad daným zdrojem.

TranslateSelectMany(ShapedQueryExpression, LambdaExpression)

Přeloží SelectMany<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,IEnumerable<TResult>>>) metodu nad daným zdrojem.

TranslateSelectMany(ShapedQueryExpression, LambdaExpression, LambdaExpression)

Přeloží SelectMany<TSource,TCollection,TResult>(IQueryable<TSource>, Expression<Func<TSource, IEnumerable<TCollection>>>, Expression<Func<TSource,TCollection, TResult>>) metodu nad daným zdrojem.

TranslateSingleOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

Přeloží Single<TSource>(IQueryable<TSource>) metodu nebo SingleOrDefault<TSource>(IQueryable<TSource>) jejich další přetížení nad daným zdrojem.

TranslateSkip(ShapedQueryExpression, Expression)

Přeloží Skip<TSource>(IQueryable<TSource>, Int32) metodu nad daným zdrojem.

TranslateSkipWhile(ShapedQueryExpression, LambdaExpression)

Přeloží SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) metodu nad daným zdrojem.

TranslateSubquery(Expression)

Přeloží daný poddotaz.

(Zděděno od QueryableMethodTranslatingExpressionVisitor)
TranslateSum(ShapedQueryExpression, LambdaExpression, Type)

Přeloží Sum(IQueryable<Decimal>) metodu a další přetížení nad daným zdrojem.

TranslateTake(ShapedQueryExpression, Expression)

Přeloží Take<TSource>(IQueryable<TSource>, Int32) metodu nad daným zdrojem.

TranslateTakeWhile(ShapedQueryExpression, LambdaExpression)

Přeloží TakeWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) metodu nad daným zdrojem.

TranslateThenBy(ShapedQueryExpression, LambdaExpression, Boolean)

Přeloží ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) nebo ThenByDescending<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) metodu nad daným zdrojem.

TranslateUnion(ShapedQueryExpression, ShapedQueryExpression)

Přeloží Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) metodu nad daným zdrojem.

TranslateWhere(ShapedQueryExpression, LambdaExpression)

Přeloží Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) metodu nad daným zdrojem.

VisitConstant(ConstantExpression)

Třída, která překládá dotazovatelné metody v dotazu.

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

(Zděděno od QueryableMethodTranslatingExpressionVisitor)
VisitExtension(Expression)

Třída, která překládá dotazovatelné metody v dotazu.

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

VisitExtension(Expression)

Třída, která překládá dotazovatelné metody v dotazu.

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

(Zděděno od QueryableMethodTranslatingExpressionVisitor)
VisitInlineQueryRoot(InlineQueryRootExpression)

Převede vloženou kolekci na dotazovatelný výraz SQL VALUES.

VisitMethodCall(MethodCallExpression)

Třída, která překládá dotazovatelné metody v dotazu.

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

VisitMethodCall(MethodCallExpression)

Třída, která překládá dotazovatelné metody v dotazu.

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

(Zděděno od QueryableMethodTranslatingExpressionVisitor)

Platí pro