Sprache

SqlNullabilityProcessor Klasse

Definition

Eine Klasse, die eine SQL-Struktur basierend auf der Nullierbarkeit von Knoten verarbeitet, um nullsemantische Semantik zu verwenden und basierend auf Parameterwerten zu optimieren.

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 SqlNullabilityProcessor : System.Linq.Expressions.ExpressionVisitor
public class SqlNullabilityProcessor
[System.Runtime.CompilerServices.Nullable(0)]
public class SqlNullabilityProcessor
[<System.Runtime.CompilerServices.Nullable(0)>]
type SqlNullabilityProcessor = class
    inherit ExpressionVisitor
type SqlNullabilityProcessor = class
[<System.Runtime.CompilerServices.Nullable(0)>]
type SqlNullabilityProcessor = class
Public Class SqlNullabilityProcessor
Inherits ExpressionVisitor
Public Class SqlNullabilityProcessor
Vererbung
SqlNullabilityProcessor
Vererbung
SqlNullabilityProcessor
Attribute

Konstruktoren

Name Beschreibung
SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, Boolean)

Erstellt eine neue Instanz der SqlNullabilityProcessor Klasse.

SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, RelationalParameterBasedSqlProcessorParameters)

Erstellt eine neue Instanz der SqlNullabilityProcessor Klasse.

Eigenschaften

Name Beschreibung
CollectionParameterTranslationMode

Ein Wert, der angibt, welcher Übersetzungsmodus verwendet werden soll.

Dependencies

Relationale anbieterspezifische Abhängigkeiten für diesen Dienst.

ParametersDecorator

Wörterbuch der verwendeten Parameterwerte.

ParametersToConstantize

Eine Auflistung von Parameternamen, die konstantisiert werden sollen.

ParameterValues

Wörterbuch der verwendeten Parameterwerte.

PreferExistsToInWithCoalesce

Bestimmt, ob eine InExpression Transformation in eine ExistsExpression , wenn sie andernfalls eine komplexe Kompensation für die Nullsemantik erfordert.

UseRelationalNulls

Ein Boolwert, der angibt, ob relationale Nullsemantik verwendet wird.

Methoden

Name Beschreibung
AddNonNullableColumn(ColumnExpression)

Fügt eine Spalte zur Liste nicht nullabler Spalten hinzu, um weitere Optimierungen zu erzielen, die Spalte als nicht nullwertebar annehmen können.

CalculateBucketPadding(Int32, RelationalTypeMapping)

Berechnet die Anzahl der Abstandsparameter, die an eine Erweiterung mit mehreren Parametern angefügt werden sollen, sodass die Anzahl der Parameter an eine freigegebene Bucketgröße ausgerichtet ist. Dies besteht aus CalculateParameterBucketSize(Int32, RelationalTypeMapping) und CalculatePadding(Int32, Int32).

CalculatePadding(Int32, Int32)

Berechnet die Anzahl von Abstandsparametern, die zum Ausrichten der Gesamtanzahl an die nächste Bucketgröße erforderlich sind.

CalculateParameterBucketSize(Int32, RelationalTypeMapping)

Ruft die Bucketgröße ab, in die die Parameter beim Generieren einer parametrisierten Auflistung bei Verwendung mehrerer Parameter aufgefüllt werden. Dies hilft beim Aufblähen des Abfrageplans.

DoNotCache()

Markiert den zu verarbeitenden Auswahlausdruck als kann nicht zwischengespeichert werden.

IsCollectionTable(TableExpressionBase, Expression)

Ein Anbieterhaken zum Identifizieren einer TableExpressionBase Sammlung, z. B. OPENJSON auf SQL Server.

OptimizeNonNullableNotExpression(SqlUnaryExpression)

Versucht, einen nicht nullfähigen Operanden zu vereinfachen.

OptimizeNotExpression(SqlExpression)

Versucht, einen nicht är-Not-Vorgang zu vereinfachen.

Process(Expression, IReadOnlyDictionary<String,Object>, Boolean)

Verarbeitet einen Abfrageausdruck, um Nullsemantik anzuwenden und zu optimieren.

Process(Expression, ParametersCacheDecorator)

Verarbeitet einen Abfrageausdruck, um Nullsemantik anzuwenden und zu optimieren.

Process(SelectExpression, IReadOnlyDictionary<String,Object>, Boolean)

Verarbeitet eine SelectExpression Nullsemantik, um sie anzuwenden und zu optimieren.

ProcessValuesOrderingColumn(ValuesExpression, IReadOnlyList<SqlExpression>, IntTypeMapping, Int32)

Wenn wir hier noch _ord Spalte haben (sie wurde nicht von anderen Optimierungen entfernt), müssen wir dafür einen Wert hinzufügen.

TryMakeNonNullable(SelectExpression, SelectExpression, Nullable<Boolean>)

Versucht, die angegebene selectExpressionProjektion , die eine nullable Projektion hat, in einen identischen Ausdruck zu konvertieren, der keine nullfähige Projektion aufweist. Dies wird verwendet, um NULLs aus dem Parameterargument SQL Server OPENJSON zu extrahieren, um eine effizientere Übersetzung zu ermöglichen.

UpdateParameterCollection(TableExpressionBase, SqlParameterExpression)

TableExpressionBase Eine zuvor als parametrisierte Sammlungstabelle identifizierte (z. B. OPENJSON auf SQL Server siehe IsCollectionTable(TableExpressionBase, Expression)), ersetzt den Parameter für diese Tabelle.

Visit(SelectExpression, Boolean)

Besucht ein SelectExpression.

Visit(SelectExpression)

Besucht ein SelectExpression.

Visit(SqlExpression, Boolean, Boolean)

Besucht eine SqlExpression und berechnet die Nullierbarkeit.

Visit(SqlExpression, Boolean)

Besucht eine SqlExpression und berechnet die Nullierbarkeit.

Visit(TableExpressionBase)

Besucht ein TableExpressionBase.

VisitAtTimeZone(AtTimeZoneExpression, Boolean, Boolean)

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.

VisitCase(CaseExpression, Boolean, Boolean)

Besucht eine CaseExpression und berechnet die Nullierbarkeit.

VisitCollate(CollateExpression, Boolean, Boolean)

Besucht eine CollateExpression und berechnet die Nullierbarkeit.

VisitColumn(ColumnExpression, Boolean, Boolean)

Besucht eine ColumnExpression und berechnet die Nullierbarkeit.

VisitCustomSqlExpression(SqlExpression, Boolean, Boolean)

Besucht eine von Anbietern hinzugefügte benutzerdefinierte SqlExpression Und berechnet die Nullbarkeit.

VisitDistinct(DistinctExpression, Boolean, Boolean)

Besucht eine DistinctExpression und berechnet die Nullierbarkeit.

VisitExists(ExistsExpression, Boolean, Boolean)

Besucht eine ExistsExpression und berechnet ihre Nullierbarkeit.

VisitExtension(Expression)

Eine Klasse, die eine SQL-Struktur basierend auf der Nullierbarkeit von Knoten verarbeitet, um nullsemantische Semantik zu verwenden und basierend auf Parameterwerten zu optimieren.

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

VisitIn(InExpression, Boolean, Boolean)

Besucht eine InExpression und berechnet ihre Nullierbarkeit.

VisitJsonScalar(JsonScalarExpression, Boolean, Boolean)

Besucht eine JsonScalarExpression und berechnet die Nullierbarkeit.

VisitLike(LikeExpression, Boolean, Boolean)

Besucht eine LikeExpression und berechnet die Nullierbarkeit.

VisitRowNumber(RowNumberExpression, Boolean, Boolean)

Besucht eine RowNumberExpression und berechnet die Nullierbarkeit.

VisitRowValue(RowValueExpression, Boolean, Boolean)

Besucht eine RowValueExpression und berechnet die Nullierbarkeit.

VisitScalarSubquery(ScalarSubqueryExpression, Boolean, Boolean)

Besucht eine ScalarSubqueryExpression und berechnet die Nullierbarkeit.

VisitSqlBinary(SqlBinaryExpression, Boolean, Boolean)

Besucht eine SqlBinaryExpression und berechnet die Nullierbarkeit.

VisitSqlConstant(SqlConstantExpression, Boolean, Boolean)

Besucht eine SqlConstantExpression und berechnet die Nullierbarkeit.

VisitSqlFragment(SqlFragmentExpression, Boolean, Boolean)

Besucht eine SqlFragmentExpression und berechnet die Nullierbarkeit.

VisitSqlFunction(SqlFunctionExpression, Boolean, Boolean)

Besucht eine SqlFunctionExpression und berechnet die Nullierbarkeit.

VisitSqlParameter(SqlParameterExpression, Boolean, Boolean)

Besucht eine SqlParameterExpression und berechnet die Nullierbarkeit.

VisitSqlUnary(SqlUnaryExpression, Boolean, Boolean)

Besucht eine SqlUnaryExpression und berechnet die Nullierbarkeit.

Gilt für: