SqlNullabilityProcessor Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Třída, která zpracovává strom SQL na základě možnosti null uzlů, aby použila sémantiku null a optimalizovala ji na základě hodnot parametrů.
Tento typ obvykle používají poskytovatelé databáze (a další rozšíření). Obvykle se nepoužívá v kódu aplikace.
[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
- Dědičnost
-
SqlNullabilityProcessor
- Dědičnost
-
SqlNullabilityProcessor
- Atributy
Konstruktory
| Název | Description |
|---|---|
| SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, Boolean) |
Vytvoří novou instanci SqlNullabilityProcessor třídy. |
| SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, RelationalParameterBasedSqlProcessorParameters) |
Vytvoří novou instanci SqlNullabilityProcessor třídy. |
Vlastnosti
| Název | Description |
|---|---|
| CollectionParameterTranslationMode |
Hodnota označující, jaký režim překladu se má použít. |
| Dependencies |
Závislosti specifické pro relačního zprostředkovatele pro tuto službu. |
| ParametersDecorator |
Slovník aktuálních hodnot parametrů, které se používají. |
| ParametersToConstantize |
Kolekce názvů parametrů, které se mají konstantizovat. |
| ParameterValues |
Slovník aktuálních hodnot parametrů, které se používají. |
| PreferExistsToInWithCoalesce |
Určuje, zda InExpression bude transformována na hodnotu ExistsExpression , kdy by jinak vyžadovala složitou kompenzaci pro sémantiku null. |
| UseRelationalNulls |
Logická hodnota označující, jestli se používají relační sémantika null. |
Metody
| Název | Description |
|---|---|
| AddNonNullableColumn(ColumnExpression) |
Přidá sloupec do seznamusloupcůchm souborům a přidá sloupec do seznamu sloupců s možnou hodnotou null, aby se mohl dále optimalizovat. |
| CalculateBucketPadding(Int32, RelationalTypeMapping) |
Vypočítá počet parametrů odsazení, které se mají připojit k rozšíření kolekce s více parametry, aby počet parametrů odpovídal velikosti sdíleného kontejneru. Skládá se z CalculateParameterBucketSize(Int32, RelationalTypeMapping) a CalculatePadding(Int32, Int32). |
| CalculatePadding(Int32, Int32) |
Vypočítá počet parametrů odsazení potřebných k zarovnání celkového počtu na nejbližší velikost kbelíku. |
| CalculateParameterBucketSize(Int32, RelationalTypeMapping) |
Získá velikost kbelíku, do které jsou parametry padd při generování parametrizované kolekce při použití více parametrů. To pomáhá s nafouknutím plánu dotazů. |
| DoNotCache() |
Označí výraz výběru, který se zpracovává, jako nelze uložit do mezipaměti. |
| IsCollectionTable(TableExpressionBase, Expression) |
Hook zprostředkovatele pro identifikaci TableExpressionBase kolekce, např. OPENJSON na SQL Server. |
| OptimizeNonNullableNotExpression(SqlUnaryExpression) |
Snaží se zjednodušit unární notovou operaci na operandu bez hodnoty null. |
| OptimizeNotExpression(SqlExpression) |
Snaží se zjednodušit unární notovou operaci. |
| Process(Expression, IReadOnlyDictionary<String,Object>, Boolean) |
Zpracovává výraz dotazu pro použití sémantiky null a jeho optimalizaci. |
| Process(Expression, ParametersCacheDecorator) |
Zpracovává výraz dotazu pro použití sémantiky null a jeho optimalizaci. |
| Process(SelectExpression, IReadOnlyDictionary<String,Object>, Boolean) |
SelectExpression Zpracuje použití sémantiky null a jeho optimalizaci. |
| ProcessValuesOrderingColumn(ValuesExpression, IReadOnlyList<SqlExpression>, IntTypeMapping, Int32) |
Pokud máme stále _ord sloupec (nebyl odebrán jinými optimalizacemi), musíme pro něj přidat hodnotu. |
| TryMakeNonNullable(SelectExpression, SelectExpression, Nullable<Boolean>) |
Pokusí se převést danou |
| UpdateParameterCollection(TableExpressionBase, SqlParameterExpression) |
TableExpressionBase Vzhledem k tomu, která byla dříve identifikována jako parametrizovaná tabulka kolekce (např. OPENJSON na SQL Server, viz IsCollectionTable(TableExpressionBase, Expression)), nahradí parametr pro danou tabulku. |
| Visit(SelectExpression, Boolean) |
Navštíví .SelectExpression |
| Visit(SelectExpression) |
Navštíví .SelectExpression |
| Visit(SqlExpression, Boolean, Boolean) |
SqlExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| Visit(SqlExpression, Boolean) |
SqlExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| Visit(TableExpressionBase) |
Navštíví .TableExpressionBase |
| VisitAtTimeZone(AtTimeZoneExpression, Boolean, Boolean) |
Jedná se o interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nevztahuje se na stejné standardy kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez upozornění v jakékoli verzi. Měli byste ho používat přímo ve svém kódu s extrémní opatrností a vědět, že to může vést k selháním aplikace při aktualizaci na novou Entity Framework Core verzi. |
| VisitCase(CaseExpression, Boolean, Boolean) |
CaseExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitCollate(CollateExpression, Boolean, Boolean) |
CollateExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitColumn(ColumnExpression, Boolean, Boolean) |
ColumnExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitCustomSqlExpression(SqlExpression, Boolean, Boolean) |
Navštíví vlastní SqlExpression přidanou poskytovatele a vypočítá jeho nulovou hodnotu. |
| VisitDistinct(DistinctExpression, Boolean, Boolean) |
DistinctExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitExists(ExistsExpression, Boolean, Boolean) |
ExistsExpression Navštíví a vypočítá jeho hodnotu nullability. |
| VisitExtension(Expression) |
Třída, která zpracovává strom SQL na základě možnosti null uzlů, aby použila sémantiku null a optimalizovala ji na základě hodnot parametrů. Tento typ obvykle používají poskytovatelé databáze (a další rozšíření). Obvykle se nepoužívá v kódu aplikace. |
| VisitIn(InExpression, Boolean, Boolean) |
InExpression Navštíví a vypočítá jeho hodnotu nullability. |
| VisitJsonScalar(JsonScalarExpression, Boolean, Boolean) |
JsonScalarExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitLike(LikeExpression, Boolean, Boolean) |
LikeExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitRowNumber(RowNumberExpression, Boolean, Boolean) |
RowNumberExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitRowValue(RowValueExpression, Boolean, Boolean) |
RowValueExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitScalarSubquery(ScalarSubqueryExpression, Boolean, Boolean) |
ScalarSubqueryExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitSqlBinary(SqlBinaryExpression, Boolean, Boolean) |
SqlBinaryExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitSqlConstant(SqlConstantExpression, Boolean, Boolean) |
SqlConstantExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitSqlFragment(SqlFragmentExpression, Boolean, Boolean) |
SqlFragmentExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitSqlFunction(SqlFunctionExpression, Boolean, Boolean) |
SqlFunctionExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitSqlParameter(SqlParameterExpression, Boolean, Boolean) |
SqlParameterExpression Navštíví a vypočítá jeho nulovou hodnotu. |
| VisitSqlUnary(SqlUnaryExpression, Boolean, Boolean) |
SqlUnaryExpression Navštíví a vypočítá jeho nulovou hodnotu. |