SqlNullabilityProcessor Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Uma classe que processa uma árvore SQL com base na nulidade de nós para aplicar semântica nula em uso e otimize-a com base em valores de parâmetro.
Esse tipo normalmente é usado por provedores de banco de dados (e outras extensões). Geralmente, ele não é usado no código do aplicativo.
[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
- Herança
-
SqlNullabilityProcessor
- Herança
-
SqlNullabilityProcessor
- Atributos
Construtores
| Nome | Descrição |
|---|---|
| SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, Boolean) |
Cria uma nova instância da SqlNullabilityProcessor classe. |
| SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, RelationalParameterBasedSqlProcessorParameters) |
Cria uma nova instância da SqlNullabilityProcessor classe. |
Propriedades
| Nome | Descrição |
|---|---|
| CollectionParameterTranslationMode |
Um valor que indica qual modo de tradução usar. |
| Dependencies |
Dependências específicas do provedor relacional para esse serviço. |
| ParametersDecorator |
Dicionário de valores de parâmetro atuais em uso. |
| ParametersToConstantize |
Uma coleção de nomes de parâmetro para constanter. |
| ParameterValues |
Dicionário de valores de parâmetro atuais em uso. |
| PreferExistsToInWithCoalesce |
Determina se um InExpression será transformado em um ExistsExpression quando, de outra forma, exigiria uma compensação complexa para semântica nula. |
| UseRelationalNulls |
Um valor bool que indica se a semântica nula relacional está em uso. |
Métodos
| Nome | Descrição |
|---|---|
| AddNonNullableColumn(ColumnExpression) |
Adiciona uma coluna à lista de colunas não anuláveis para otimizações adicionais que podem usar a coluna como não anulável. |
| CalculateBucketPadding(Int32, RelationalTypeMapping) |
Calcula o número de parâmetros de preenchimento a serem acrescentados a uma expansão de coleção de vários parâmetros para que as contagens de parâmetros se alinhem a um tamanho de bucket compartilhado. Isso é composto de CalculateParameterBucketSize(Int32, RelationalTypeMapping) e CalculatePadding(Int32, Int32). |
| CalculatePadding(Int32, Int32) |
Calcula o número de parâmetros de preenchimento necessários para alinhar a contagem total ao tamanho do bucket mais próximo. |
| CalculateParameterBucketSize(Int32, RelationalTypeMapping) |
Obtém o tamanho do bucket no qual os parâmetros são adicionados ao gerar uma coleção parametrizada ao usar vários parâmetros. Isso ajuda com o bloat do plano de consulta. |
| DoNotCache() |
Marca a expressão select que está sendo processada como não pode ser armazenada em cache. |
| IsCollectionTable(TableExpressionBase, Expression) |
Um gancho de provedor para identificar um TableExpressionBase que representa uma coleção, por exemplo, OPENJSON no SQL Server. |
| OptimizeNonNullableNotExpression(SqlUnaryExpression) |
Tenta simplificar uma operação de notação unária em um operando não anulável. |
| OptimizeNotExpression(SqlExpression) |
Tenta simplificar uma operação não unária. |
| Process(Expression, IReadOnlyDictionary<String,Object>, Boolean) |
Processa uma expressão de consulta para aplicar semântica nula e otimize-a. |
| Process(Expression, ParametersCacheDecorator) |
Processa uma expressão de consulta para aplicar semântica nula e otimize-a. |
| Process(SelectExpression, IReadOnlyDictionary<String,Object>, Boolean) |
Processa um SelectExpression para aplicar semântica nula e otimize-a. |
| ProcessValuesOrderingColumn(ValuesExpression, IReadOnlyList<SqlExpression>, IntTypeMapping, Int32) |
Se ainda tivermos _ord coluna aqui (ela não foi removida por outras otimizações), precisamos adicionar valor para ela. |
| TryMakeNonNullable(SelectExpression, SelectExpression, Nullable<Boolean>) |
Tenta converter a projeção fornecida |
| UpdateParameterCollection(TableExpressionBase, SqlParameterExpression) |
Dado um TableExpressionBase que foi identificado anteriormente como uma tabela de coleção parametrizada (por exemplo, OPENJSON no SQL Server, consulte IsCollectionTable(TableExpressionBase, Expression)), substitui o parâmetro para essa tabela. |
| Visit(SelectExpression, Boolean) |
Visita um SelectExpression. |
| Visit(SelectExpression) |
Visita um SelectExpression. |
| Visit(SqlExpression, Boolean, Boolean) |
Visita um SqlExpression e calcula sua nulidade. |
| Visit(SqlExpression, Boolean) |
Visita um SqlExpression e calcula sua nulidade. |
| Visit(TableExpressionBase) |
Visita um TableExpressionBase. |
| VisitAtTimeZone(AtTimeZoneExpression, Boolean, Boolean) |
Essa é uma API interna que dá suporte à infraestrutura de Entity Framework Core e não está sujeita aos mesmos padrões de compatibilidade que as APIs públicas. Ele pode ser alterado ou removido sem aviso prévio em qualquer versão. Você só deve usá-lo diretamente em seu código com extrema cautela e saber que fazer isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão Entity Framework Core. |
| VisitCase(CaseExpression, Boolean, Boolean) |
Visita um CaseExpression e calcula sua nulidade. |
| VisitCollate(CollateExpression, Boolean, Boolean) |
Visita um CollateExpression e calcula sua nulidade. |
| VisitColumn(ColumnExpression, Boolean, Boolean) |
Visita um ColumnExpression e calcula sua nulidade. |
| VisitCustomSqlExpression(SqlExpression, Boolean, Boolean) |
Visita um personalizado SqlExpression adicionado por provedores e calcula sua nulidade. |
| VisitDistinct(DistinctExpression, Boolean, Boolean) |
Visita um DistinctExpression e calcula sua nulidade. |
| VisitExists(ExistsExpression, Boolean, Boolean) |
Visita um ExistsExpression e calcula sua nulidade. |
| VisitExtension(Expression) |
Uma classe que processa uma árvore SQL com base na nulidade de nós para aplicar semântica nula em uso e otimize-a com base em valores de parâmetro. Esse tipo normalmente é usado por provedores de banco de dados (e outras extensões). Geralmente, ele não é usado no código do aplicativo. |
| VisitIn(InExpression, Boolean, Boolean) |
Visita um InExpression e calcula sua nulidade. |
| VisitJsonScalar(JsonScalarExpression, Boolean, Boolean) |
Visita um JsonScalarExpression e calcula sua nulidade. |
| VisitLike(LikeExpression, Boolean, Boolean) |
Visita um LikeExpression e calcula sua nulidade. |
| VisitRowNumber(RowNumberExpression, Boolean, Boolean) |
Visita um RowNumberExpression e calcula sua nulidade. |
| VisitRowValue(RowValueExpression, Boolean, Boolean) |
Visita um RowValueExpression e calcula sua nulidade. |
| VisitScalarSubquery(ScalarSubqueryExpression, Boolean, Boolean) |
Visita um ScalarSubqueryExpression e calcula sua nulidade. |
| VisitSqlBinary(SqlBinaryExpression, Boolean, Boolean) |
Visita um SqlBinaryExpression e calcula sua nulidade. |
| VisitSqlConstant(SqlConstantExpression, Boolean, Boolean) |
Visita um SqlConstantExpression e calcula sua nulidade. |
| VisitSqlFragment(SqlFragmentExpression, Boolean, Boolean) |
Visita um SqlFragmentExpression e calcula sua nulidade. |
| VisitSqlFunction(SqlFunctionExpression, Boolean, Boolean) |
Visita um SqlFunctionExpression e calcula sua nulidade. |
| VisitSqlParameter(SqlParameterExpression, Boolean, Boolean) |
Visita um SqlParameterExpression e calcula sua nulidade. |
| VisitSqlUnary(SqlUnaryExpression, Boolean, Boolean) |
Visita um SqlUnaryExpression e calcula sua nulidade. |