Język

RelationalQueryableMethodTranslatingExpressionVisitor Klasa

Definicja

Klasa, która tłumaczy metody do wykonywania zapytań w zapytaniu.

Ten typ jest zwykle używany przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.

[System.Runtime.CompilerServices.Nullable(0)]
public class RelationalQueryableMethodTranslatingExpressionVisitor : Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor
public class RelationalQueryableMethodTranslatingExpressionVisitor : Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor
[<System.Runtime.CompilerServices.Nullable(0)>]
type RelationalQueryableMethodTranslatingExpressionVisitor = class
    inherit QueryableMethodTranslatingExpressionVisitor
type RelationalQueryableMethodTranslatingExpressionVisitor = class
    inherit QueryableMethodTranslatingExpressionVisitor
Public Class RelationalQueryableMethodTranslatingExpressionVisitor
Inherits QueryableMethodTranslatingExpressionVisitor
Dziedziczenie
RelationalQueryableMethodTranslatingExpressionVisitor
Atrybuty

Konstruktory

Nazwisko Opis
RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, IModel)

Klasa, która tłumaczy metody do wykonywania zapytań w zapytaniu.

Ten typ jest zwykle używany przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, QueryCompilationContext)

Tworzy nowe wystąpienie QueryableMethodTranslatingExpressionVisitor klasy.

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryCompilationContext)

Tworzy nowe wystąpienie QueryableMethodTranslatingExpressionVisitor klasy.

RelationalQueryableMethodTranslatingExpressionVisitor(RelationalQueryableMethodTranslatingExpressionVisitor)

Tworzy nowe wystąpienie QueryableMethodTranslatingExpressionVisitor klasy.

Pola

Nazwisko Opis
ValuesOrderingColumnName

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji Entity Framework Core.

ValuesValueColumnName

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji Entity Framework Core.

Właściwości

Nazwisko Opis
Dependencies

Zależności dla tej usługi.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)
QueryCompilationContext

Obiekt kontekstu kompilacji zapytania dla bieżącej kompilacji.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)
RelationalDependencies

Zależności specyficzne dla dostawcy relacyjnego dla tej usługi.

TranslationErrorDetails

Szczegółowe informacje o błędach napotkanych podczas tłumaczenia.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)

Metody

Nazwisko Opis
AddTranslationErrorDetails(String)

Dodaje szczegółowe informacje o błędach napotkanych podczas tłumaczenia.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)
ApplyInferredTypeMappings(Expression, IReadOnlyDictionary<ValueTuple<TableExpressionBase,String>,RelationalTypeMapping>)

Wywoływane na końcu tłumaczenia najwyższego poziomu stosuje wywnioskowane mapowania typów dla stałych/parametrów z możliwością wykonywania zapytań i sprawdza, czy wszystkie SqlExpression mają mapowanie typów.

CreateSelect(IEntityType)

Służy do tworzenia katalogu głównego SelectExpression reprezentującego zapytanie danego typu jednostki.

CreateSelect(JsonQueryExpression, TableExpressionBase, String, Type, RelationalTypeMapping)

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji Entity Framework Core.

CreateShapedQueryExpression(IEntityType)

Tworzy element ShapedQueryExpression dla danego typu jednostki.

CreateShapedQueryExpression(Type)
Przestarzałe.

ShapedQueryExpression Tworzy element dla danego typu, wyszukując jego typ jednostki w modelu.

CreateSubqueryVisitor()

Tworzy obiekt odwiedzający dostosowany do tłumaczenia podzapytania za pomocą polecenia TranslateSubquery(Expression).

GenerateJsonPartialUpdateSetter(Expression, SqlExpression, SqlExpression)

Punkt rozszerzenia dostawcy do implementowania częściowych aktualizacji w kolumnach JSON.

IsNaturallyOrdered(SelectExpression)

Określa, czy dana SelectExpression wartość jest naturalnie uporządkowana, co oznacza, że każde zamówienie zostało dodane automatycznie przez program EF w celu zachowania, np. naturalnego porządku tablicy JSON, a nie dlatego, że oryginalne zapytanie LINQ zawiera jawne porządkowanie.

IsOrdered(SelectExpression)

Określa, czy dana SelectExpression wartość jest uporządkowana, zazwyczaj dlatego, że do niej dodano zamówienia.

IsValidSelectExpressionForExecuteDelete(SelectExpression, EntityShaperExpression, TableExpression)

Sprawdza, czy bieżące wyrażenie select może być używane as-is do wykonania operacji usuwania lub czy musi zostać wypchnięta do podzapytania.

IsValidSelectExpressionForExecuteDelete(SelectExpression, StructuralTypeShaperExpression, TableExpression)
Przestarzałe.

Ta metoda została przestarzała. Zamiast tego użyj metody akceptującej pojedynczy parametr SelectExpression.

IsValidSelectExpressionForExecuteDelete(SelectExpression)

Sprawdza, czy bieżące wyrażenie select może być używane as-is do wykonywania operacji usuwania, czy też musi zostać wypchnięte do podzapytania.

IsValidSelectExpressionForExecuteUpdate(SelectExpression, EntityShaperExpression, TableExpression)

Sprawdza, czy bieżące wyrażenie select może służyć do wykonywania operacji aktualizacji lub musi być przyłączone jako podzapytywanie.

IsValidSelectExpressionForExecuteUpdate(SelectExpression, TableExpressionBase, TableExpression)

Sprawdza, czy bieżące wyrażenie select może służyć do wykonywania operacji aktualizacji lub musi być przyłączone jako podzapytywanie.

MarkShaperNullable(Expression)

Oznacza kształtator jednostki w danym wyrażeniu kształtatora jako dopuszczalny do wartości null.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)
TransformJsonQueryToTable(JsonQueryExpression)

Wywoływane, gdy operatory LINQ składają się z kolekcji w dokumencie JSON. Przekształca podaną JsonQueryExpression wartość — reprezentującą dostęp do kolekcji — w sposób specyficzny dla dostawcy, aby rozwinąć tablicę JSON do relacyjnej tabeli/zestawu wierszy (np. SQL Server OPENJSON).

Translate(Expression)

Tłumaczy wyrażenie na równoważną reprezentację SQL.

Translate(Expression)

Tłumaczy wyrażenie na równoważną reprezentację SQL.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)
TranslateAll(ShapedQueryExpression, LambdaExpression)

All<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Tłumaczy metodę na danym źródle.

TranslateAny(ShapedQueryExpression, LambdaExpression)

Any<TSource>(IQueryable<TSource>) Tłumaczy metodę i inne przeciążenia dla danego źródła.

TranslateAverage(ShapedQueryExpression, LambdaExpression, Type)

Average(IQueryable<Decimal>) Tłumaczy metodę i inne przeciążenia dla danego źródła.

TranslateCast(ShapedQueryExpression, Type)

Cast<TResult>(IQueryable) Tłumaczy metodę na danym źródle.

TranslateConcat(ShapedQueryExpression, ShapedQueryExpression)

Concat<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Tłumaczy metodę na danym źródle.

TranslateContains(ShapedQueryExpression, Expression)

Contains<TSource>(IQueryable<TSource>, TSource) Tłumaczy metodę na danym źródle.

TranslateCount(ShapedQueryExpression, LambdaExpression)

Count<TSource>(IQueryable<TSource>) Tłumaczy metodę i inne przeciążenia dla danego źródła.

TranslateDefaultIfEmpty(ShapedQueryExpression, Expression)

DefaultIfEmpty<TSource>(IQueryable<TSource>) Tłumaczy metodę i inne przeciążenia dla danego źródła.

TranslateDistinct(ShapedQueryExpression)

Distinct<TSource>(IQueryable<TSource>) Tłumaczy metodę na danym źródle.

TranslateElementAtOrDefault(ShapedQueryExpression, Expression, Boolean)

ElementAt<TSource>(IQueryable<TSource>, Int32) Tłumaczy metodę lub ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) nad danym źródłem.

TranslateExcept(ShapedQueryExpression, ShapedQueryExpression)

Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Tłumaczy metodę na danym źródle.

TranslateExecuteDelete(ShapedQueryExpression)

ExecuteDelete<TSource>(IQueryable<TSource>) Tłumaczy metodę na danym źródle.

TranslateExecuteUpdate(ShapedQueryExpression, IReadOnlyList<QueryableMethodTranslatingExpressionVisitor.ExecuteUpdateSetter>)

ExecuteUpdate<TSource>(IQueryable<TSource>, Action<UpdateSettersBuilder<TSource>>) Tłumaczy metodę na danym źródle.

TranslateExecuteUpdate(ShapedQueryExpression, LambdaExpression)

ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>) Tłumaczy metodę na danym źródle.

TranslateExpression(Expression, Boolean)

Tłumaczy podane wyrażenie na równoważną reprezentację SQL.

TranslateExpression(Expression)

Tłumaczy podane wyrażenie na równoważną reprezentację SQL.

TranslateFirstOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

First<TSource>(IQueryable<TSource>) Tłumaczy metodę lub FirstOrDefault<TSource>(IQueryable<TSource>) ich inne przeciążenia na danym źródle.

TranslateFullJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

Translacji FullJoin dla danego źródła.

TranslateGroupBy(ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

GroupBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) Tłumaczy metodę i inne przeciążenia dla danego źródła.

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

GroupJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,IEnumerable<TInner>,TResult>>) Tłumaczy metodę na danym źródle.

TranslateInlineQueryRoot(InlineQueryRootExpression)

Tłumaczy kolekcję śródliniową na wyrażenie SQL VALUES z możliwością wykonywania zapytań.

TranslateIntersect(ShapedQueryExpression, ShapedQueryExpression)

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Tłumaczy metodę na danym źródle.

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

Join<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) Tłumaczy metodę na danym źródle.

TranslateLambdaExpression(ShapedQueryExpression, LambdaExpression)

Tłumaczy podane wyrażenie lambda dla ShapedQueryExpression źródła na równoważną reprezentację SQL.

TranslateLastOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

Last<TSource>(IQueryable<TSource>) Tłumaczy metodę lub LastOrDefault<TSource>(IQueryable<TSource>) ich inne przeciążenia na danym źródle.

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

Tłumaczy element LeftJoin na dane źródło.

TranslateLongCount(ShapedQueryExpression, LambdaExpression)

LongCount<TSource>(IQueryable<TSource>) Tłumaczy metodę i inne przeciążenia dla danego źródła.

TranslateMax(ShapedQueryExpression, LambdaExpression, Type)

Max<TSource>(IQueryable<TSource>) Tłumaczy metodę i inne przeciążenia dla danego źródła.

TranslateMemberAccess(Expression, MemberIdentity)

Tłumaczy dostęp do elementu członkowskiego. Używane, gdy właściwość typu jednostki reprezentuje kolekcję, na której mogą składać się operatory LINQ z możliwością wykonywania zapytań.

TranslateMin(ShapedQueryExpression, LambdaExpression, Type)

Min<TSource>(IQueryable<TSource>) Tłumaczy metodę i inne przeciążenia dla danego źródła.

TranslateOfType(ShapedQueryExpression, Type)

OfType<TResult>(IQueryable) Tłumaczy metodę na danym źródle.

TranslateOrderBy(ShapedQueryExpression, LambdaExpression, Boolean)

OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) Tłumaczy lub OrderByDescending<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) metodę na danym źródle.

TranslateParameterQueryRoot(ParameterQueryRootExpression)

Tłumaczy element ParameterQueryRootExpression, który reprezentuje kolekcję z możliwością wykonywania zapytań przywoływalną jako parametr w zapytaniu.

TranslatePrimitiveCollection(SqlExpression, IProperty, String)

Tłumaczy parametr lub kolekcję kolumn wartości pierwotnych. Dostawcy mogą zastąpić tę funkcję, aby przetłumaczyć np. kolumny lub parametry int[] na tabelę z możliwością wykonywania zapytań (PLIK OPENJSON w SQL Server, co jest niepotrzebne w usłudze PostgreSQL...). Domyślna implementacja zawsze zwraca wartość null (bez tłumaczenia).

TranslateResultSelectorForJoin(ShapedQueryExpression, LambdaExpression, Expression, Type)
Przestarzałe.

Tłumaczy selektor wyników dla operacji sprzężenia.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)
TranslateReverse(ShapedQueryExpression)

Reverse<TSource>(IQueryable<TSource>) Tłumaczy metodę na danym źródle.

TranslateRightJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

Tłumaczy element LeftJoin na dane źródło.

TranslateSelect(ShapedQueryExpression, LambdaExpression)

Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) Tłumaczy metodę na danym źródle.

TranslateSelectMany(ShapedQueryExpression, LambdaExpression, LambdaExpression)

SelectMany<TSource,TCollection,TResult>(IQueryable<TSource>, Expression<Func<TSource, IEnumerable<TCollection>>>, Expression<Func<TSource,TCollection, TResult>>) Tłumaczy metodę na danym źródle.

TranslateSelectMany(ShapedQueryExpression, LambdaExpression)

SelectMany<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,IEnumerable<TResult>>>) Tłumaczy metodę na danym źródle.

TranslateSetters(ShapedQueryExpression, IReadOnlyList<QueryableMethodTranslatingExpressionVisitor.ExecuteUpdateSetter>, TableExpressionBase)

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji Entity Framework Core.

TranslateSingleOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

Single<TSource>(IQueryable<TSource>) Tłumaczy metodę lub SingleOrDefault<TSource>(IQueryable<TSource>) ich inne przeciążenia na danym źródle.

TranslateSkip(ShapedQueryExpression, Expression)

Skip<TSource>(IQueryable<TSource>, Int32) Tłumaczy metodę na danym źródle.

TranslateSkipWhile(ShapedQueryExpression, LambdaExpression)

SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Tłumaczy metodę na danym źródle.

TranslateSubquery(Expression)

Tłumaczy daną podzapytę.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)
TranslateSum(ShapedQueryExpression, LambdaExpression, Type)

Sum(IQueryable<Decimal>) Tłumaczy metodę i inne przeciążenia dla danego źródła.

TranslateTake(ShapedQueryExpression, Expression)

Take<TSource>(IQueryable<TSource>, Int32) Tłumaczy metodę na danym źródle.

TranslateTakeWhile(ShapedQueryExpression, LambdaExpression)

TakeWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Tłumaczy metodę na danym źródle.

TranslateThenBy(ShapedQueryExpression, LambdaExpression, Boolean)

ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) Tłumaczy lub ThenByDescending<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) metodę na danym źródle.

TranslateUnion(ShapedQueryExpression, ShapedQueryExpression)

Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Tłumaczy metodę na danym źródle.

TranslateWhere(ShapedQueryExpression, LambdaExpression)

Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Tłumaczy metodę na danym źródle.

TrySerializeScalarToJson(JsonScalarExpression, SqlExpression, SqlExpression)

Serializuje wartość skalarną relacyjną do formatu JSON w celu częściowego aktualizowania w kolumnie JSON w ciągu TranslateExecuteUpdate(ShapedQueryExpression, IReadOnlyList<QueryableMethodTranslatingExpressionVisitor.ExecuteUpdateSetter>).

TryTranslateSetters(ShapedQueryExpression, IReadOnlyList<QueryableMethodTranslatingExpressionVisitor.ExecuteUpdateSetter>, IReadOnlyList<ColumnValueSetter>, TableExpressionBase)

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji Entity Framework Core.

VisitConstant(ConstantExpression)

Klasa, która tłumaczy metody do wykonywania zapytań w zapytaniu.

Ten typ jest zwykle używany przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)
VisitExtension(Expression)

Klasa, która tłumaczy metody do wykonywania zapytań w zapytaniu.

Ten typ jest zwykle używany przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.

VisitExtension(Expression)

Klasa, która tłumaczy metody do wykonywania zapytań w zapytaniu.

Ten typ jest zwykle używany przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)
VisitInlineQueryRoot(InlineQueryRootExpression)

Tłumaczy kolekcję śródliniową na wyrażenie SQL VALUES z możliwością wykonywania zapytań.

VisitMember(MemberExpression)

Klasa, która tłumaczy metody do wykonywania zapytań w zapytaniu.

Ten typ jest zwykle używany przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)
VisitMethodCall(MethodCallExpression)

Klasa, która tłumaczy metody do wykonywania zapytań w zapytaniu.

Ten typ jest zwykle używany przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.

VisitMethodCall(MethodCallExpression)

Klasa, która tłumaczy metody do wykonywania zapytań w zapytaniu.

Ten typ jest zwykle używany przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)

Dotyczy