Lingua

SqlNullabilityProcessor Classe

Definizione

Classe che elabora un albero SQL basato su valori Null dei nodi per applicare semantica Null in uso e ottimizzarla in base ai valori dei parametri.

Questo tipo viene in genere usato dai provider di database (e da altre estensioni). In genere non viene usato nel codice dell'applicazione.

[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
Ereditarietà
SqlNullabilityProcessor
Ereditarietà
SqlNullabilityProcessor
Attributi

Costruttori

Nome Descrizione
SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, Boolean)

Crea una nuova istanza della SqlNullabilityProcessor classe .

SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, RelationalParameterBasedSqlProcessorParameters)

Crea una nuova istanza della SqlNullabilityProcessor classe .

Proprietà

Nome Descrizione
CollectionParameterTranslationMode

Valore che indica la modalità di conversione da usare.

Dependencies

Dipendenze specifiche del provider relazionale per questo servizio.

ParametersDecorator

Dizionario dei valori dei parametri correnti in uso.

ParametersToConstantize

Raccolta di nomi di parametri da costantere.

ParameterValues

Dizionario dei valori dei parametri correnti in uso.

PreferExistsToInWithCoalesce

Determina se un oggetto InExpression verrà trasformato in un oggetto ExistsExpression quando altrimenti richiederebbe una compensazione complessa per la semantica Null.

UseRelationalNulls

Valore bool che indica se la semantica null relazionale è in uso.

Metodi

Nome Descrizione
AddNonNullableColumn(ColumnExpression)

Aggiunge una colonna a un elenco di colonne non nullable per ottimizzare ulteriormente la colonna come non nullable.

CalculateBucketPadding(Int32, RelationalTypeMapping)

Calcola il numero di parametri di riempimento da aggiungere a un'espansione della raccolta multi-parametro in modo che i conteggi dei parametri siano allineati a una dimensione del bucket condivisa. Questo oggetto è composto da CalculateParameterBucketSize(Int32, RelationalTypeMapping) e CalculatePadding(Int32, Int32).

CalculatePadding(Int32, Int32)

Calcola il numero di parametri di riempimento necessari per allineare il conteggio totale alle dimensioni del bucket più vicine.

CalculateParameterBucketSize(Int32, RelationalTypeMapping)

Ottiene le dimensioni del bucket in cui i parametri vengono riempiti durante la generazione di una raccolta con parametri quando si usano più parametri. Ciò è utile per il bloat del piano di query.

DoNotCache()

Contrassegna l'espressione di selezione elaborata come non può essere memorizzata nella cache.

IsCollectionTable(TableExpressionBase, Expression)

Hook del provider per identificare un TableExpressionBase oggetto che rappresenta una raccolta, ad esempio OPENJSON in SQL Server.

OptimizeNonNullableNotExpression(SqlUnaryExpression)

Tenta di semplificare un'operazione unaria non su un operando non nullable.

OptimizeNotExpression(SqlExpression)

Tenta di semplificare un'operazione non unaria.

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

Elabora un'espressione di query per applicare la semantica Null e ottimizzarla.

Process(Expression, ParametersCacheDecorator)

Elabora un'espressione di query per applicare la semantica Null e ottimizzarla.

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

Elabora un oggetto SelectExpression per applicare la semantica Null e ottimizzarla.

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

Se è ancora presente _ord colonna (non è stata rimossa da altre ottimizzazioni), è necessario aggiungerlo.

TryMakeNonNullable(SelectExpression, SelectExpression, Nullable<Boolean>)

Tenta di convertire l'oggetto specificato selectExpression, che ha una proiezione nullable, in un'espressione identica che non dispone di una proiezione nullable. Viene usato per estrarre valori NULL dall'esterno, ad esempio l'argomento del parametro di SQL Server OPENJSON, per consentire una traduzione più efficiente.

UpdateParameterCollection(TableExpressionBase, SqlParameterExpression)

Dato un TableExpressionBase oggetto identificato in precedenza come tabella di raccolta con parametri (ad esempio OPENJSON in SQL Server, vedere IsCollectionTable(TableExpressionBase, Expression)), sostituisce il parametro per tale tabella.

Visit(SelectExpression, Boolean)

Visita un oggetto SelectExpression.

Visit(SelectExpression)

Visita un oggetto SelectExpression.

Visit(SqlExpression, Boolean, Boolean)

Visita un SqlExpression oggetto e calcola il relativo valore Nullbility.

Visit(SqlExpression, Boolean)

Visita un SqlExpression oggetto e calcola il relativo valore Nullbility.

Visit(TableExpressionBase)

Visita un oggetto TableExpressionBase.

VisitAtTimeZone(AtTimeZoneExpression, Boolean, Boolean)

Si tratta di un'API interna che supporta l'infrastruttura Entity Framework Core e non è soggetta agli stessi standard di compatibilità delle API pubbliche. Può essere modificato o rimosso senza preavviso in alcuna versione. È consigliabile usarlo direttamente nel codice con estrema cautela e sapere che questa operazione può causare errori dell'applicazione durante l'aggiornamento a una nuova versione Entity Framework Core.

VisitCase(CaseExpression, Boolean, Boolean)

Visita un CaseExpression oggetto e calcola il relativo valore Nullbility.

VisitCollate(CollateExpression, Boolean, Boolean)

Visita un CollateExpression oggetto e calcola il relativo valore Nullbility.

VisitColumn(ColumnExpression, Boolean, Boolean)

Visita un ColumnExpression oggetto e calcola il relativo valore Nullbility.

VisitCustomSqlExpression(SqlExpression, Boolean, Boolean)

Visita un elemento personalizzato SqlExpression aggiunto dai provider e ne calcola il supporto.

VisitDistinct(DistinctExpression, Boolean, Boolean)

Visita un DistinctExpression oggetto e calcola il relativo valore Nullbility.

VisitExists(ExistsExpression, Boolean, Boolean)

Visita un oggetto ExistsExpression e calcola il relativo valore Nullbility.

VisitExtension(Expression)

Classe che elabora un albero SQL basato su valori Null dei nodi per applicare semantica Null in uso e ottimizzarla in base ai valori dei parametri.

Questo tipo viene in genere usato dai provider di database (e da altre estensioni). In genere non viene usato nel codice dell'applicazione.

VisitIn(InExpression, Boolean, Boolean)

Visita un oggetto InExpression e calcola il relativo valore Nullbility.

VisitJsonScalar(JsonScalarExpression, Boolean, Boolean)

Visita un JsonScalarExpression oggetto e calcola il relativo valore Nullbility.

VisitLike(LikeExpression, Boolean, Boolean)

Visita un LikeExpression oggetto e calcola il relativo valore Nullbility.

VisitRowNumber(RowNumberExpression, Boolean, Boolean)

Visita un RowNumberExpression oggetto e calcola il relativo valore Nullbility.

VisitRowValue(RowValueExpression, Boolean, Boolean)

Visita un RowValueExpression oggetto e calcola il relativo valore Nullbility.

VisitScalarSubquery(ScalarSubqueryExpression, Boolean, Boolean)

Visita un ScalarSubqueryExpression oggetto e calcola il relativo valore Nullbility.

VisitSqlBinary(SqlBinaryExpression, Boolean, Boolean)

Visita un SqlBinaryExpression oggetto e calcola il relativo valore Nullbility.

VisitSqlConstant(SqlConstantExpression, Boolean, Boolean)

Visita un SqlConstantExpression oggetto e calcola il relativo valore Nullbility.

VisitSqlFragment(SqlFragmentExpression, Boolean, Boolean)

Visita un SqlFragmentExpression oggetto e calcola il relativo valore Nullbility.

VisitSqlFunction(SqlFunctionExpression, Boolean, Boolean)

Visita un SqlFunctionExpression oggetto e calcola il relativo valore Nullbility.

VisitSqlParameter(SqlParameterExpression, Boolean, Boolean)

Visita un SqlParameterExpression oggetto e calcola il relativo valore Nullbility.

VisitSqlUnary(SqlUnaryExpression, Boolean, Boolean)

Visita un SqlUnaryExpression oggetto e calcola il relativo valore Nullbility.

Si applica a