Dil

SqlNullabilityProcessor Sınıf

Tanım

Sql ağacını, kullanılan null semantiği uygulamak ve parametre değerlerine göre iyileştirmek için düğümlerin null atanabilirliğine göre işleyen bir sınıf.

Bu tür genellikle veritabanı sağlayıcıları (ve diğer uzantılar) tarafından kullanılır. Genellikle uygulama kodunda kullanılmaz.

[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
Devralma
SqlNullabilityProcessor
Devralma
SqlNullabilityProcessor
Özellikler

Oluşturucular

Veri Akışı Adı Description
SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, Boolean)

sınıfının yeni bir örneğini SqlNullabilityProcessor oluşturur.

SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, RelationalParameterBasedSqlProcessorParameters)

sınıfının yeni bir örneğini SqlNullabilityProcessor oluşturur.

Özellikler

Veri Akışı Adı Description
CollectionParameterTranslationMode

Hangi çeviri modunun kullanılacağını gösteren değer.

Dependencies

Bu hizmet için ilişkisel sağlayıcıya özgü bağımlılıklar.

ParametersDecorator

Kullanımdaki geçerli parametre değerlerinin sözlüğü.

ParametersToConstantize

Sabitleştirecek parametre adları koleksiyonu.

ParameterValues

Kullanımdaki geçerli parametre değerlerinin sözlüğü.

PreferExistsToInWithCoalesce

Aksi takdirde null semantik için karmaşık telafi gerektireceği durumlarda bir'in ExistsExpression bir'e dönüştürülüp dönüştürülmeyeceğini InExpression belirler.

UseRelationalNulls

İlişkisel null semantiğin kullanımda olup olmadığını gösteren bool değeri.

Yöntemler

Veri Akışı Adı Description
AddNonNullableColumn(ColumnExpression)

Daha fazla iyileştirme yapmak için null değer atanamayan sütunlar listesine sütun ekler, sütunu null atanamaz olarak alabilir.

CalculateBucketPadding(Int32, RelationalTypeMapping)

Parametre sayılarının paylaşılan demet boyutuna hizalanması için çok parametreli koleksiyon genişletmesine eklenecek doldurma parametrelerinin sayısını hesaplar. Bu, ve CalculatePadding(Int32, Int32)kaynaklarından CalculateParameterBucketSize(Int32, RelationalTypeMapping) oluşur.

CalculatePadding(Int32, Int32)

Toplam sayıyı en yakın demet boyutuna hizalamak için gereken doldurma parametrelerinin sayısını hesaplar.

CalculateParameterBucketSize(Int32, RelationalTypeMapping)

Birden çok parametre kullanılırken parametreli koleksiyon oluşturulurken parametrelerin dolduruldığı demet boyutunu alır. Bu, sorgu planı şişkinliği konusunda yardımcı olur.

DoNotCache()

İşlenen seçme ifadesini önbelleğe alınamıyor olarak işaretler.

IsCollectionTable(TableExpressionBase, Expression)

Bir koleksiyonu temsil eden bir TableExpressionBase öğesini tanımlamak için bir sağlayıcı kancası, örneğin SQL Server'da OPENJSON.

OptimizeNonNullableNotExpression(SqlUnaryExpression)

Null değer atanamayan bir işlenende birli not işlemini basitleştirmeye çalışır.

OptimizeNotExpression(SqlExpression)

Birli not işlemini basitleştirmeye çalışır.

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

Null semantiği uygulamak ve iyileştirmek için bir sorgu ifadesini işler.

Process(Expression, ParametersCacheDecorator)

Null semantiği uygulamak ve iyileştirmek için bir sorgu ifadesini işler.

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

Null semantiği uygulamak ve iyileştirmek için bir SelectExpression işler.

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

Burada hala _ord sütun varsa (diğer iyileştirmeler tarafından kaldırılmadıysa) bunun için değer eklememiz gerekir.

TryMakeNonNullable(SelectExpression, SelectExpression, Nullable<Boolean>)

Null atanabilir projeksiyonu olan verilen selectExpressiondeğerini, null atanabilir projeksiyonu olmayan aynı bir ifadeye dönüştürmeye çalışır. Bu, daha verimli bir çeviriye izin vermek için SQL SERVER OPENJSON parametresi bağımsız değişkeni gibi null'leri ayıklamak için kullanılır.

UpdateParameterCollection(TableExpressionBase, SqlParameterExpression)

TableExpressionBase Daha önce parametreli bir koleksiyon tablosu olduğu belirlenen bir değeri (örneğin, SQL Server'de OPENJSON, bkzIsCollectionTable(TableExpressionBase, Expression). ), bu tablonun parametresini değiştirir.

Visit(SelectExpression, Boolean)

Bir SelectExpressionöğesini ziyaret etti.

Visit(SelectExpression)

Bir SelectExpressionöğesini ziyaret etti.

Visit(SqlExpression, Boolean, Boolean)

bir'i SqlExpression ziyaret eder ve null atanabilirliğini hesaplar.

Visit(SqlExpression, Boolean)

bir'i SqlExpression ziyaret eder ve null atanabilirliğini hesaplar.

Visit(TableExpressionBase)

Bir TableExpressionBaseöğesini ziyaret etti.

VisitAtTimeZone(AtTimeZoneExpression, Boolean, Boolean)

Bu, Entity Framework Core altyapısını destekleyen ve genel API'ler ile aynı uyumluluk standartlarına tabi olmayan bir iç API'dir. Herhangi bir sürümde bildirimde bulunmaksızın değiştirilebilir veya kaldırılabilir. Bunu yalnızca kodunuzda son derece dikkatli bir şekilde kullanmanız ve bunu yapmanın yeni bir Entity Framework Core sürümüne güncelleştirme sırasında uygulama hatalarına neden olabileceğini bilmeniz gerekir.

VisitCase(CaseExpression, Boolean, Boolean)

bir'i CaseExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitCollate(CollateExpression, Boolean, Boolean)

bir'i CollateExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitColumn(ColumnExpression, Boolean, Boolean)

bir'i ColumnExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitCustomSqlExpression(SqlExpression, Boolean, Boolean)

Sağlayıcılar tarafından eklenen bir özel SqlExpression öğeyi ziyaret eder ve null atanabilirliğini hesaplar.

VisitDistinct(DistinctExpression, Boolean, Boolean)

bir'i DistinctExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitExists(ExistsExpression, Boolean, Boolean)

öğesini ExistsExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitExtension(Expression)

Sql ağacını, kullanılan null semantiği uygulamak ve parametre değerlerine göre iyileştirmek için düğümlerin null atanabilirliğine göre işleyen bir sınıf.

Bu tür genellikle veritabanı sağlayıcıları (ve diğer uzantılar) tarafından kullanılır. Genellikle uygulama kodunda kullanılmaz.

VisitIn(InExpression, Boolean, Boolean)

öğesini InExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitJsonScalar(JsonScalarExpression, Boolean, Boolean)

bir'i JsonScalarExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitLike(LikeExpression, Boolean, Boolean)

bir'i LikeExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitRowNumber(RowNumberExpression, Boolean, Boolean)

bir'i RowNumberExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitRowValue(RowValueExpression, Boolean, Boolean)

bir'i RowValueExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitScalarSubquery(ScalarSubqueryExpression, Boolean, Boolean)

bir'i ScalarSubqueryExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitSqlBinary(SqlBinaryExpression, Boolean, Boolean)

bir'i SqlBinaryExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitSqlConstant(SqlConstantExpression, Boolean, Boolean)

bir'i SqlConstantExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitSqlFragment(SqlFragmentExpression, Boolean, Boolean)

bir'i SqlFragmentExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitSqlFunction(SqlFunctionExpression, Boolean, Boolean)

bir'i SqlFunctionExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitSqlParameter(SqlParameterExpression, Boolean, Boolean)

bir'i SqlParameterExpression ziyaret eder ve null atanabilirliğini hesaplar.

VisitSqlUnary(SqlUnaryExpression, Boolean, Boolean)

bir'i SqlUnaryExpression ziyaret eder ve null atanabilirliğini hesaplar.

Şunlara uygulanır