Udostępnij za pośrednictwem


RelationalQueryableMethodTranslatingExpressionVisitor Klasa

Definicja

Klasa, która tłumaczy metody z możliwością 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.

public class RelationalQueryableMethodTranslatingExpressionVisitor : Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor
type RelationalQueryableMethodTranslatingExpressionVisitor = class
    inherit QueryableMethodTranslatingExpressionVisitor
Public Class RelationalQueryableMethodTranslatingExpressionVisitor
Inherits QueryableMethodTranslatingExpressionVisitor
Dziedziczenie
RelationalQueryableMethodTranslatingExpressionVisitor

Konstruktory

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, IModel)

Klasa, która tłumaczy metody z możliwością 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 klasy QueryableMethodTranslatingExpressionVisitor.

RelationalQueryableMethodTranslatingExpressionVisitor(RelationalQueryableMethodTranslatingExpressionVisitor)

Tworzy nowe wystąpienie klasy QueryableMethodTranslatingExpressionVisitor.

Właściwości

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

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 translacji najwyższego poziomu stosuje wnioskowane mapowania typów dla stałych/parametrów z możliwością wykonywania zapytań i sprawdza, czy wszystkie SqlExpression mają mapowanie typu.

CreateShapedQueryExpression(IEntityType)

Tworzy obiekt ShapedQueryExpression dla danego typu jednostki.

CreateShapedQueryExpression(IEntityType)

Tworzy obiekt ShapedQueryExpression dla danego typu jednostki.

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)
CreateShapedQueryExpression(Type)
Przestarzałe.

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

CreateShapedQueryExpression(Type)
Przestarzałe.

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

(Odziedziczone po QueryableMethodTranslatingExpressionVisitor)
CreateSubqueryVisitor()

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

IsNaturallyOrdered(SelectExpression)

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

IsOrdered(SelectExpression)

Określa, czy dana wartość SelectExpression 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 jako dla wykonania operacji usuwania lub czy należy je wypchnąć do podzapytania.

IsValidSelectExpressionForExecuteDelete(SelectExpression, StructuralTypeShaperExpression, TableExpression)

Sprawdza, czy bieżące wyrażenie select może służyć jako do wykonywania operacji usuwania lub czy musi zostać wypchnięta do podzapytania.

IsValidSelectExpressionForExecuteUpdate(SelectExpression, EntityShaperExpression, TableExpression)

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

IsValidSelectExpressionForExecuteUpdate(SelectExpression, TableExpressionBase, TableExpression)

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

MarkShaperNullable(Expression)

Oznacza kształtator jednostki w danym wyrażeniu kształtatora jako dopuszczającego wartość 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ę nad danym źródłem.

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ę nad danym źródłem.

TranslateConcat(ShapedQueryExpression, ShapedQueryExpression)

Concat<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Tłumaczy metodę nad danym źródłem.

TranslateContains(ShapedQueryExpression, Expression)

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

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ę nad danym źródłem.

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ę nad danym źródłem.

TranslateExecuteDelete(ShapedQueryExpression)

ExecuteDelete<TSource>(IQueryable<TSource>) Tłumaczy metodę nad danym źródłem.

TranslateExecuteUpdate(ShapedQueryExpression, LambdaExpression)

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

TranslateExpression(Expression)

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

TranslateExpression(Expression, Boolean)

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 w danym źródle.

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ę nad danym źródłem.

TranslateIntersect(ShapedQueryExpression, ShapedQueryExpression)

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Tłumaczy metodę nad danym źródłem.

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ę nad danym źródłem.

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 w danym źródle.

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

Tłumaczy element LeftJoin nad danym źródłem.

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.

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ę nad danym źródłem.

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ę dla danego źródła.

TranslatePrimitiveCollection(SqlExpression, IProperty, String)

Tłumaczy parametr lub kolekcję kolumn wartości pierwotnych. Dostawcy mogą to przesłonić, aby przetłumaczyć np. kolumny int[] lub parametry na tabelę z możliwością wykonywania zapytań (PLIK OPENJSON w SQL Server, co jest niepotrzebne w przypadku bazy danych 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ę nad danym źródłem.

TranslateSelect(ShapedQueryExpression, LambdaExpression)

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

TranslateSelectMany(ShapedQueryExpression, LambdaExpression)

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

TranslateSelectMany(ShapedQueryExpression, LambdaExpression, LambdaExpression)

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

TranslateSingleOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

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

TranslateSkip(ShapedQueryExpression, Expression)

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

TranslateSkipWhile(ShapedQueryExpression, LambdaExpression)

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

TranslateSubquery(Expression)

Tłumaczy podane podzapytania.

(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ę nad danym źródłem.

TranslateTakeWhile(ShapedQueryExpression, LambdaExpression)

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

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ę dla danego źródła.

TranslateUnion(ShapedQueryExpression, ShapedQueryExpression)

Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Tłumaczy metodę nad danym źródłem.

TranslateWhere(ShapedQueryExpression, LambdaExpression)

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

VisitConstant(ConstantExpression)

Klasa, która tłumaczy metody z możliwością 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 z możliwością 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 z możliwością 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)

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

VisitMethodCall(MethodCallExpression)

Klasa, która tłumaczy metody z możliwością 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 z możliwością 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