SqlNullabilityProcessor Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
| 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. |