SqlNullabilityProcessor Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Classe qui traite une arborescence SQL basée sur la nullabilité des nœuds pour appliquer la sémantique Null en cours d’utilisation et l’optimiser en fonction des valeurs de paramètre.
Ce type est généralement utilisé par les fournisseurs de base de données (et d’autres extensions). Il n’est généralement pas utilisé dans le code d’application.
[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
- Héritage
-
SqlNullabilityProcessor
- Héritage
-
SqlNullabilityProcessor
- Attributs
Constructeurs
| Nom | Description |
|---|---|
| SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, Boolean) |
Crée une instance de la SqlNullabilityProcessor classe. |
| SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, RelationalParameterBasedSqlProcessorParameters) |
Crée une instance de la SqlNullabilityProcessor classe. |
Propriétés
| Nom | Description |
|---|---|
| CollectionParameterTranslationMode |
Valeur indiquant le mode de traduction à utiliser. |
| Dependencies |
Dépendances spécifiques au fournisseur relationnel pour ce service. |
| ParametersDecorator |
Dictionnaire des valeurs de paramètre actuelles en cours d’utilisation. |
| ParametersToConstantize |
Collection de noms de paramètres à constantiser. |
| ParameterValues |
Dictionnaire des valeurs de paramètre actuelles en cours d’utilisation. |
| PreferExistsToInWithCoalesce |
Détermine si une InExpression valeur sera transformée en un ExistsExpression moment où elle nécessiterait une compensation complexe pour la sémantique Null. |
| UseRelationalNulls |
Valeur bool indiquant si la sémantique null relationnelle est en cours d’utilisation. |
Méthodes
| Nom | Description |
|---|---|
| AddNonNullableColumn(ColumnExpression) |
Ajoute une colonne à une liste de colonnes non nullables pour d’autres optimisations peuvent prendre la colonne comme non nullable. |
| CalculateBucketPadding(Int32, RelationalTypeMapping) |
Calcule le nombre de paramètres de remplissage à ajouter à une extension de collection à plusieurs paramètres afin que les nombres de paramètres s’alignent sur une taille de compartiment partagée. Ceci est composé de CalculateParameterBucketSize(Int32, RelationalTypeMapping) et CalculatePadding(Int32, Int32). |
| CalculatePadding(Int32, Int32) |
Calcule le nombre de paramètres de remplissage nécessaires pour aligner le nombre total sur la taille de compartiment la plus proche. |
| CalculateParameterBucketSize(Int32, RelationalTypeMapping) |
Obtient la taille du compartiment dans lequel les paramètres sont rembourrés lors de la génération d’une collection paramétrable lors de l’utilisation de plusieurs paramètres. Cela aide à la ballonnement du plan de requête. |
| DoNotCache() |
Marque l’expression select en cours de traitement, car elle ne peut pas être mise en cache. |
| IsCollectionTable(TableExpressionBase, Expression) |
Un hook fournisseur pour identifier un TableExpressionBase qui représente une collection, par exemple OPENJSON sur SQL Server. |
| OptimizeNonNullableNotExpression(SqlUnaryExpression) |
Tente de simplifier une opération non unaire sur un opérande non nullable. |
| OptimizeNotExpression(SqlExpression) |
Tente de simplifier une opération non unaire. |
| Process(Expression, IReadOnlyDictionary<String,Object>, Boolean) |
Traite une expression de requête pour appliquer la sémantique Null et l’optimiser. |
| Process(Expression, ParametersCacheDecorator) |
Traite une expression de requête pour appliquer la sémantique Null et l’optimiser. |
| Process(SelectExpression, IReadOnlyDictionary<String,Object>, Boolean) |
Traite une SelectExpression sémantique null et l’optimise. |
| ProcessValuesOrderingColumn(ValuesExpression, IReadOnlyList<SqlExpression>, IntTypeMapping, Int32) |
Si nous avons toujours _ord colonne ici (elle n’a pas été supprimée par d’autres optimisations), nous devons ajouter de la valeur pour celle-ci. |
| TryMakeNonNullable(SelectExpression, SelectExpression, Nullable<Boolean>) |
Tente de convertir la projection donnée |
| UpdateParameterCollection(TableExpressionBase, SqlParameterExpression) |
Compte tenu d’une TableExpressionBase table de collection paramétrable précédemment identifiée (par exemple, OPENJSON sur SQL Server, voir IsCollectionTable(TableExpressionBase, Expression)), remplace le paramètre de cette table. |
| Visit(SelectExpression, Boolean) |
Visite un SelectExpression. |
| Visit(SelectExpression) |
Visite un SelectExpression. |
| Visit(SqlExpression, Boolean, Boolean) |
Visite un SqlExpression et calcule sa nullabilité. |
| Visit(SqlExpression, Boolean) |
Visite un SqlExpression et calcule sa nullabilité. |
| Visit(TableExpressionBase) |
Visite un TableExpressionBase. |
| VisitAtTimeZone(AtTimeZoneExpression, Boolean, Boolean) |
Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Il peut être modifié ou supprimé sans préavis dans n’importe quelle version. Vous devez uniquement l’utiliser directement dans votre code avec une prudence extrême et savoir que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version de Entity Framework Core. |
| VisitCase(CaseExpression, Boolean, Boolean) |
Visite un CaseExpression et calcule sa nullabilité. |
| VisitCollate(CollateExpression, Boolean, Boolean) |
Visite un CollateExpression et calcule sa nullabilité. |
| VisitColumn(ColumnExpression, Boolean, Boolean) |
Visite un ColumnExpression et calcule sa nullabilité. |
| VisitCustomSqlExpression(SqlExpression, Boolean, Boolean) |
Visite un élément personnalisé SqlExpression ajouté par des fournisseurs et calcule sa nullabilité. |
| VisitDistinct(DistinctExpression, Boolean, Boolean) |
Visite un DistinctExpression et calcule sa nullabilité. |
| VisitExists(ExistsExpression, Boolean, Boolean) |
Visite un ExistsExpression et calcule sa nullabilité. |
| VisitExtension(Expression) |
Classe qui traite une arborescence SQL basée sur la nullabilité des nœuds pour appliquer la sémantique Null en cours d’utilisation et l’optimiser en fonction des valeurs de paramètre. Ce type est généralement utilisé par les fournisseurs de base de données (et d’autres extensions). Il n’est généralement pas utilisé dans le code d’application. |
| VisitIn(InExpression, Boolean, Boolean) |
Visite un InExpression et calcule sa nullabilité. |
| VisitJsonScalar(JsonScalarExpression, Boolean, Boolean) |
Visite un JsonScalarExpression et calcule sa nullabilité. |
| VisitLike(LikeExpression, Boolean, Boolean) |
Visite un LikeExpression et calcule sa nullabilité. |
| VisitRowNumber(RowNumberExpression, Boolean, Boolean) |
Visite un RowNumberExpression et calcule sa nullabilité. |
| VisitRowValue(RowValueExpression, Boolean, Boolean) |
Visite un RowValueExpression et calcule sa nullabilité. |
| VisitScalarSubquery(ScalarSubqueryExpression, Boolean, Boolean) |
Visite un ScalarSubqueryExpression et calcule sa nullabilité. |
| VisitSqlBinary(SqlBinaryExpression, Boolean, Boolean) |
Visite un SqlBinaryExpression et calcule sa nullabilité. |
| VisitSqlConstant(SqlConstantExpression, Boolean, Boolean) |
Visite un SqlConstantExpression et calcule sa nullabilité. |
| VisitSqlFragment(SqlFragmentExpression, Boolean, Boolean) |
Visite un SqlFragmentExpression et calcule sa nullabilité. |
| VisitSqlFunction(SqlFunctionExpression, Boolean, Boolean) |
Visite un SqlFunctionExpression et calcule sa nullabilité. |
| VisitSqlParameter(SqlParameterExpression, Boolean, Boolean) |
Visite un SqlParameterExpression et calcule sa nullabilité. |
| VisitSqlUnary(SqlUnaryExpression, Boolean, Boolean) |
Visite un SqlUnaryExpression et calcule sa nullabilité. |