Sprache

RelationalQueryableMethodTranslatingExpressionVisitor Klasse

Definition

Eine Klasse, die abfragefähige Methoden in einer Abfrage übersetzt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

[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
Vererbung
RelationalQueryableMethodTranslatingExpressionVisitor
Attribute

Konstruktoren

Name Beschreibung
RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, IModel)

Eine Klasse, die abfragefähige Methoden in einer Abfrage übersetzt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, QueryCompilationContext)

Erstellt eine neue Instanz der QueryableMethodTranslatingExpressionVisitor Klasse.

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryCompilationContext)

Erstellt eine neue Instanz der QueryableMethodTranslatingExpressionVisitor Klasse.

RelationalQueryableMethodTranslatingExpressionVisitor(RelationalQueryableMethodTranslatingExpressionVisitor)

Erstellt eine neue Instanz der QueryableMethodTranslatingExpressionVisitor Klasse.

Felder

Name Beschreibung
ValuesOrderingColumnName

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version führen kann.

ValuesValueColumnName

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version führen kann.

Eigenschaften

Name Beschreibung
Dependencies

Abhängigkeiten für diesen Dienst.

(Geerbt von QueryableMethodTranslatingExpressionVisitor)
QueryCompilationContext

Das Kontextobjekt für die Abfragekompilierung für die aktuelle Kompilierung.

(Geerbt von QueryableMethodTranslatingExpressionVisitor)
RelationalDependencies

Relationale anbieterspezifische Abhängigkeiten für diesen Dienst.

TranslationErrorDetails

Detaillierte Informationen zu Fehlern, die während der Übersetzung aufgetreten sind.

(Geerbt von QueryableMethodTranslatingExpressionVisitor)

Methoden

Name Beschreibung
AddTranslationErrorDetails(String)

Fügt detaillierte Informationen zu Fehlern hinzu, die während der Übersetzung aufgetreten sind.

(Geerbt von QueryableMethodTranslatingExpressionVisitor)
ApplyInferredTypeMappings(Expression, IReadOnlyDictionary<ValueTuple<TableExpressionBase,String>,RelationalTypeMapping>)

Wird am Ende der Übersetzung auf oberster Ebene aufgerufen, wendet abgeleitete Typzuordnungen für abfragbare Konstanten/Parameter an und überprüft, ob alle SqlExpression über eine Typzuordnung verfügen.

CreateSelect(IEntityType)

Wird verwendet, um einen Stamm SelectExpression zu erstellen, der eine Abfrage des angegebenen Entitätstyps darstellt.

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

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version führen kann.

CreateShapedQueryExpression(IEntityType)

Erstellt einen ShapedQueryExpression für den angegebenen Entitätstyp.

CreateShapedQueryExpression(Type)
Veraltet.

Erstellt einen ShapedQueryExpression für den angegebenen Typ, indem er seinen Entitätstyp im Modell sucht.

CreateSubqueryVisitor()

Erstellt einen Besucher, der für die Übersetzung einer Unterabfrage angepasst TranslateSubquery(Expression)wurde.

GenerateJsonPartialUpdateSetter(Expression, SqlExpression, SqlExpression)

Anbietererweiterungspunkt für die Implementierung partieller Updates in JSON-Spalten.

IsNaturallyOrdered(SelectExpression)

Bestimmt, ob die angegebene Angabe SelectExpression natürlich sortiert ist, d. h., dass jede Sortierung automatisch von EF hinzugefügt wurde, um z. B. die natürliche Sortierung eines JSON-Arrays beizubehalten, und nicht, weil die ursprüngliche LINQ-Abfrage eine explizite Sortierung enthielt.

IsOrdered(SelectExpression)

Bestimmt, ob die angegebene SelectExpression Bestellung sortiert ist, in der Regel, weil sie sortiert wurde.

IsValidSelectExpressionForExecuteDelete(SelectExpression, EntityShaperExpression, TableExpression)

Überprüft, ob der aktuelle Auswahlausdruck as-is zum Ausführen eines Löschvorgangs verwendet werden kann oder ob er in eine Unterabfrage gedrückt werden muss.

IsValidSelectExpressionForExecuteDelete(SelectExpression, StructuralTypeShaperExpression, TableExpression)
Veraltet.

Diese Methode wurde veraltet, verwenden Sie stattdessen die Methode, die einen einzelnen SelectExpression-Parameter akzeptiert.

IsValidSelectExpressionForExecuteDelete(SelectExpression)

Überprüft, ob der aktuelle Auswahlausdruck as-is zum Ausführen eines Löschvorgangs verwendet werden kann oder ob er in eine Unterabfrage gedrückt werden muss.

IsValidSelectExpressionForExecuteUpdate(SelectExpression, EntityShaperExpression, TableExpression)

Überprüft, ob der aktuelle Auswahlausdruck für den Ausführungsaktualisierungsvorgang verwendet werden kann oder ob er als Unterabfrage verknüpft werden muss.

IsValidSelectExpressionForExecuteUpdate(SelectExpression, TableExpressionBase, TableExpression)

Überprüft, ob der aktuelle Auswahlausdruck für den Ausführungsaktualisierungsvorgang verwendet werden kann oder ob er als Unterabfrage verknüpft werden muss.

MarkShaperNullable(Expression)

Markiert den Entitäts-Shaper im angegebenen Shaper-Ausdruck als nullwertebar.

(Geerbt von QueryableMethodTranslatingExpressionVisitor)
TransformJsonQueryToTable(JsonQueryExpression)

Wird aufgerufen, wenn LINQ-Operatoren über eine Auflistung in einem JSON-Dokument verfasst werden. Transformiert die bereitgestellte JsonQueryExpression - darstellung des Zugriffs auf die Sammlung - in ein anbieterspezifisches Mittel, um das JSON-Array in ein relationales Tabellen-/Rowset (z. B. SQL Server OPENJSON) zu erweitern.

Translate(Expression)

Übersetzt einen Ausdruck in eine entsprechende SQL-Darstellung.

Translate(Expression)

Übersetzt einen Ausdruck in eine entsprechende SQL-Darstellung.

(Geerbt von QueryableMethodTranslatingExpressionVisitor)
TranslateAll(ShapedQueryExpression, LambdaExpression)

All<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Übersetzt die Methode über die angegebene Quelle.

TranslateAny(ShapedQueryExpression, LambdaExpression)

Any<TSource>(IQueryable<TSource>) Übersetzt Die Methode und andere Überladungen über die angegebene Quelle.

TranslateAverage(ShapedQueryExpression, LambdaExpression, Type)

Average(IQueryable<Decimal>) Übersetzt Die Methode und andere Überladungen über die angegebene Quelle.

TranslateCast(ShapedQueryExpression, Type)

Cast<TResult>(IQueryable) Übersetzt die Methode über die angegebene Quelle.

TranslateConcat(ShapedQueryExpression, ShapedQueryExpression)

Concat<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Übersetzt die Methode über die angegebene Quelle.

TranslateContains(ShapedQueryExpression, Expression)

Contains<TSource>(IQueryable<TSource>, TSource) Übersetzt die Methode über die angegebene Quelle.

TranslateCount(ShapedQueryExpression, LambdaExpression)

Count<TSource>(IQueryable<TSource>) Übersetzt Die Methode und andere Überladungen über die angegebene Quelle.

TranslateDefaultIfEmpty(ShapedQueryExpression, Expression)

DefaultIfEmpty<TSource>(IQueryable<TSource>) Übersetzt Die Methode und andere Überladungen über die angegebene Quelle.

TranslateDistinct(ShapedQueryExpression)

Distinct<TSource>(IQueryable<TSource>) Übersetzt die Methode über die angegebene Quelle.

TranslateElementAtOrDefault(ShapedQueryExpression, Expression, Boolean)

ElementAt<TSource>(IQueryable<TSource>, Int32) Übersetzt die Methode oder ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) über die angegebene Quelle.

TranslateExcept(ShapedQueryExpression, ShapedQueryExpression)

Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Übersetzt die Methode über die angegebene Quelle.

TranslateExecuteDelete(ShapedQueryExpression)

ExecuteDelete<TSource>(IQueryable<TSource>) Übersetzt die Methode über die angegebene Quelle.

TranslateExecuteUpdate(ShapedQueryExpression, IReadOnlyList<QueryableMethodTranslatingExpressionVisitor.ExecuteUpdateSetter>)

ExecuteUpdate<TSource>(IQueryable<TSource>, Action<UpdateSettersBuilder<TSource>>) Übersetzt die Methode über die angegebene Quelle.

TranslateExecuteUpdate(ShapedQueryExpression, LambdaExpression)

ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>) Übersetzt die Methode über die angegebene Quelle.

TranslateExpression(Expression, Boolean)

Übersetzt den angegebenen Ausdruck in eine gleichwertige SQL-Darstellung.

TranslateExpression(Expression)

Übersetzt den angegebenen Ausdruck in eine gleichwertige SQL-Darstellung.

TranslateFirstOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

First<TSource>(IQueryable<TSource>) Übersetzt die Methode oder FirstOrDefault<TSource>(IQueryable<TSource>) deren andere Überladungen über die angegebene Quelle.

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

Übersetzt FullJoin über die angegebene Quelle.

TranslateGroupBy(ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

GroupBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) Übersetzt Die Methode und andere Überladungen über die angegebene Quelle.

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>>) Übersetzt die Methode über die angegebene Quelle.

TranslateInlineQueryRoot(InlineQueryRootExpression)

Übersetzt eine Inlineauflistung in einen abfragbaren SQL VALUES-Ausdruck.

TranslateIntersect(ShapedQueryExpression, ShapedQueryExpression)

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Übersetzt die Methode über die angegebene Quelle.

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>>) Übersetzt die Methode über die angegebene Quelle.

TranslateLambdaExpression(ShapedQueryExpression, LambdaExpression)

Übersetzt den angegebenen Lambda-Ausdruck für die ShapedQueryExpression Quelle in eine entsprechende SQL-Darstellung.

TranslateLastOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

Last<TSource>(IQueryable<TSource>) Übersetzt die Methode oder LastOrDefault<TSource>(IQueryable<TSource>) deren andere Überladungen über die angegebene Quelle.

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

Übersetzt LeftJoin über die angegebene Quelle.

TranslateLongCount(ShapedQueryExpression, LambdaExpression)

LongCount<TSource>(IQueryable<TSource>) Übersetzt Die Methode und andere Überladungen über die angegebene Quelle.

TranslateMax(ShapedQueryExpression, LambdaExpression, Type)

Max<TSource>(IQueryable<TSource>) Übersetzt Die Methode und andere Überladungen über die angegebene Quelle.

TranslateMemberAccess(Expression, MemberIdentity)

Übersetzt einen Mitgliedszugriff. Wird verwendet, wenn eine Eigenschaft eines Entitätstyps eine Auflistung darstellt, für die abfragbare LINQ-Operatoren erstellt werden können.

TranslateMin(ShapedQueryExpression, LambdaExpression, Type)

Min<TSource>(IQueryable<TSource>) Übersetzt Die Methode und andere Überladungen über die angegebene Quelle.

TranslateOfType(ShapedQueryExpression, Type)

OfType<TResult>(IQueryable) Übersetzt die Methode über die angegebene Quelle.

TranslateOrderBy(ShapedQueryExpression, LambdaExpression, Boolean)

OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) Übersetzt oder OrderByDescending<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) methode über die angegebene Quelle.

TranslateParameterQueryRoot(ParameterQueryRootExpression)

Übersetzt ein ParameterQueryRootExpression, das eine abfragefähige Auflistung darstellt, auf die als Parameter innerhalb der Abfrage verwiesen wird.

TranslatePrimitiveCollection(SqlExpression, IProperty, String)

Übersetzt einen Parameter oder eine Spaltenauflistung von grundtypwerten. Anbieter können dies außer Kraft setzen, um z.B. int[] Spalten oder Parameter in eine abfragefähige Tabelle zu übersetzen (OPENJSON auf SQL Server, nicht am Besten in PostgreSQL...). Die Standardimplementierung gibt immer zurück null (keine Übersetzung).

TranslateResultSelectorForJoin(ShapedQueryExpression, LambdaExpression, Expression, Type)
Veraltet.

Übersetzt die Ergebnisauswahl für den Verknüpfungsvorgang.

(Geerbt von QueryableMethodTranslatingExpressionVisitor)
TranslateReverse(ShapedQueryExpression)

Reverse<TSource>(IQueryable<TSource>) Übersetzt die Methode über die angegebene Quelle.

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

Übersetzt LeftJoin über die angegebene Quelle.

TranslateSelect(ShapedQueryExpression, LambdaExpression)

Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) Übersetzt die Methode über die angegebene Quelle.

TranslateSelectMany(ShapedQueryExpression, LambdaExpression, LambdaExpression)

SelectMany<TSource,TCollection,TResult>(IQueryable<TSource>, Expression<Func<TSource, IEnumerable<TCollection>>>, Expression<Func<TSource,TCollection, TResult>>) Übersetzt die Methode über die angegebene Quelle.

TranslateSelectMany(ShapedQueryExpression, LambdaExpression)

SelectMany<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,IEnumerable<TResult>>>) Übersetzt die Methode über die angegebene Quelle.

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

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version führen kann.

TranslateSingleOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

Single<TSource>(IQueryable<TSource>) Übersetzt die Methode oder SingleOrDefault<TSource>(IQueryable<TSource>) deren andere Überladungen über die angegebene Quelle.

TranslateSkip(ShapedQueryExpression, Expression)

Skip<TSource>(IQueryable<TSource>, Int32) Übersetzt die Methode über die angegebene Quelle.

TranslateSkipWhile(ShapedQueryExpression, LambdaExpression)

SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Übersetzt die Methode über die angegebene Quelle.

TranslateSubquery(Expression)

Übersetzt die angegebene Unterabfrage.

(Geerbt von QueryableMethodTranslatingExpressionVisitor)
TranslateSum(ShapedQueryExpression, LambdaExpression, Type)

Sum(IQueryable<Decimal>) Übersetzt Die Methode und andere Überladungen über die angegebene Quelle.

TranslateTake(ShapedQueryExpression, Expression)

Take<TSource>(IQueryable<TSource>, Int32) Übersetzt die Methode über die angegebene Quelle.

TranslateTakeWhile(ShapedQueryExpression, LambdaExpression)

TakeWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Übersetzt die Methode über die angegebene Quelle.

TranslateThenBy(ShapedQueryExpression, LambdaExpression, Boolean)

ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) Übersetzt oder ThenByDescending<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) methode über die angegebene Quelle.

TranslateUnion(ShapedQueryExpression, ShapedQueryExpression)

Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Übersetzt die Methode über die angegebene Quelle.

TranslateWhere(ShapedQueryExpression, LambdaExpression)

Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Übersetzt die Methode über die angegebene Quelle.

TrySerializeScalarToJson(JsonScalarExpression, SqlExpression, SqlExpression)

Serialisiert einen relationalen Skalarwert in JSON für die teilweise Aktualisierung innerhalb einer JSON-Spalte innerhalb TranslateExecuteUpdate(ShapedQueryExpression, IReadOnlyList<QueryableMethodTranslatingExpressionVisitor.ExecuteUpdateSetter>)einer JSON-Spalte.

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

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version führen kann.

VisitConstant(ConstantExpression)

Eine Klasse, die abfragefähige Methoden in einer Abfrage übersetzt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

(Geerbt von QueryableMethodTranslatingExpressionVisitor)
VisitExtension(Expression)

Eine Klasse, die abfragefähige Methoden in einer Abfrage übersetzt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

VisitExtension(Expression)

Eine Klasse, die abfragefähige Methoden in einer Abfrage übersetzt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

(Geerbt von QueryableMethodTranslatingExpressionVisitor)
VisitInlineQueryRoot(InlineQueryRootExpression)

Übersetzt eine Inlineauflistung in einen abfragbaren SQL VALUES-Ausdruck.

VisitMember(MemberExpression)

Eine Klasse, die abfragefähige Methoden in einer Abfrage übersetzt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

(Geerbt von QueryableMethodTranslatingExpressionVisitor)
VisitMethodCall(MethodCallExpression)

Eine Klasse, die abfragefähige Methoden in einer Abfrage übersetzt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

VisitMethodCall(MethodCallExpression)

Eine Klasse, die abfragefähige Methoden in einer Abfrage übersetzt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

(Geerbt von QueryableMethodTranslatingExpressionVisitor)

Gilt für: