RelationalTypeMappingSource Sınıf

Tanım

İlişkisel tür eşleme kaynağı için temel sınıf. İlişkisel sağlayıcılar bu sınıftan türetilmelidir ve geçersiz kılar Microsoft.EntityFrameworkCore.Storage.RelationalTypeMappingSource.FindMapping(Microsoft.EntityFrameworkCore.Storage.RelationalTypeMappingInfo@)

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

Hizmet ömrü Singleton . Bu, tek bir örneğin birçok örnek tarafından kullanıldığı anlamına gelir DbContext . Uygulama, iş parçacığı açısından güvenli olmalıdır. Bu hizmet, olarak kaydedilmiş hizmetlere bağlı olamaz Scoped .

public abstract class RelationalTypeMappingSource : Microsoft.EntityFrameworkCore.Storage.TypeMappingSourceBase, Microsoft.EntityFrameworkCore.Storage.IRelationalTypeMappingSource
type RelationalTypeMappingSource = class
    inherit TypeMappingSourceBase
    interface IRelationalTypeMappingSource
    interface ITypeMappingSource
Public MustInherit Class RelationalTypeMappingSource
Inherits TypeMappingSourceBase
Implements IRelationalTypeMappingSource
Devralma
RelationalTypeMappingSource
Uygulamalar

Açıklamalar

Daha fazla bilgi için bkz. veritabanı sağlayıcıları ve uzantıları uygulama .

Oluşturucular

RelationalTypeMappingSource(TypeMappingSourceDependencies, RelationalTypeMappingSourceDependencies)

Bu sınıfın yeni bir örneğini başlatır.

Özellikler

Dependencies

Bu hizmetin bağımlılıkları.

(Devralındığı yer: TypeMappingSourceBase)
RelationalDependencies

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

Yöntemler

FindMapping(IProperty)

Verilen için tür eşlemesini bulur IProperty .

Not: sağlayıcıların bu yöntemi genellikle geçersiz kılması gerekmez.

FindMapping(MemberInfo)

Bir MemberInfo alanı veya CLR türünün özelliğini temsil eden bir için tür eşlemesini bulur.

Note: Bu yöntemi yalnızca kullanılabilir olmadığında çağırın IProperty , aksi takdirde çağırın FindMapping(IProperty)

Not: sağlayıcıların bu yöntemi genellikle geçersiz kılması gerekmez.

FindMapping(RelationalTypeMappingInfo)

Verilen bilgiyle ilgili bir tür eşlemesi bulmak için ilişkisel veritabanı sağlayıcıları tarafından geçersiz kılındı.

Eşleme bilgileri, gerekli tür eşlemesi hakkında daha fazla bilgi ile doldurulur. En iyi eşlemeyi oluşturmak için gereken tüm bilgileri kullanın. nullHiçbir eşleme kullanılamıyorsa döndürün.

FindMapping(String)

Belirli bir veritabanı türü adı için tür eşlemesini bulur.

Note: Bu yöntemi yalnızca kullanılabilir olmadığında çağırın IProperty , aksi takdirde çağırın FindMapping(IProperty)

Not: sağlayıcıların bu yöntemi genellikle geçersiz kılması gerekmez.

FindMapping(Type)

Verilen için tür eşlemesini bulur Type .

Note: Bu yöntemi yalnızca veya yoksa çağırın IProperty IModel , aksi takdirde çağırın FindMapping(IProperty) veya FindMapping(Type, IModel)

Not: sağlayıcıların bu yöntemi genellikle geçersiz kılması gerekmez.

FindMapping(Type, IModel)

Verilen bir kural için, hesaba yönelik tür eşlemesini bulur Type .

Note: Bu yöntemi yalnızca Hayır ise çağırın IProperty , aksi takdirde çağırın FindMapping(IProperty) .

FindMapping(Type, IModel)

Hesapta kural öncesi yapılandırmayı Type alarak, verilen için tür eşlemesini bulur.

Not: Yalnızca yoksa bu yöntemi çağır, IProperty aksi takdirde çağrısı. FindMapping(IProperty)

(Devralındığı yer: TypeMappingSourceBase)
FindMapping(Type, String, Boolean, Nullable<Boolean>, Nullable<Int32>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Int32>, Nullable<Int32>)

Belirli bir ve ek model için tür eşlemesini bulur Type .

Note: Bu yöntemi yalnızca kullanılabilir olmadığında çağırın IProperty , aksi takdirde çağırın FindMapping(IProperty)

Not: sağlayıcıların bu yöntemi genellikle geçersiz kılması gerekmez.

FindMapping(TypeMappingInfo)

Microsoft.EntityFrameworkCore.Storage.RelationalTypeMappingSource.FindMapping(Microsoft.EntityFrameworkCore.Storage.RelationalTypeMappingInfo@)Bunun yerine çağırın

FindMappingWithConversion(RelationalTypeMappingInfo, IReadOnlyList<IProperty>)

Bu API Entity Framework Core altyapısını destekler ve doğrudan kodunuzdan kullanılmaya yönelik değildir. Bu API, gelecek sürümlerde değişebilir veya kaldırılabilir.

ParseStoreTypeName(String, Nullable<Boolean>, Nullable<Int32>, Nullable<Int32>, Nullable<Int32>)

Sağlayıcıya özgü bir depo türü adı ayrıştırır, standart modelleri (örn. boyut, duyarlık) ayıklayarak temel depo türü adını (herhangi bir model olmadan) döndürür.

Varsayılan uygulama SomeType (boyut), SomeType (duyarlık) ve SomeType (duyarlık, Scale) destekler. Sağlayıcılar, kendi mantığını sağlamak için bunu geçersiz kılabilir.

ValidateMapping(CoreTypeMapping, IProperty)

Belirtilen özellik için doğrulanması için bir eşleme bulunduktan sonra çağrılır.

(Devralındığı yer: TypeMappingSourceBase)

Belirtik Arabirim Kullanımları

IRelationalTypeMappingSource.FindMapping(IProperty)

Verilen bir için tür eşlemesini IProperty bulur.

IRelationalTypeMappingSource.FindMapping(MemberInfo)

ClR türünün bir alanını veya MemberInfo özelliğini temsil eden bir verilen için tür eşlemesini bulur.

Not: Yalnızca kullanılabilir değilse bu yöntemi, IProperty aksi takdirde çağrısı FindMapping(IProperty)

IRelationalTypeMappingSource.FindMapping(Type)

Verilen bir için tür eşlemesini Type bulur.

Not: Bu yöntemi yalnızca kullanılabilir veya kullanılabilir IProperty IModel değilse, aksi takdirde veya çağrısı FindMapping(IProperty)FindMapping(Type, IModel)

IRelationalTypeMappingSource.FindMapping(Type, IModel)

Hesapta kural öncesi yapılandırmayı Type alarak, verilen için tür eşlemesini bulur.

Not: Yalnızca yoksa bu yöntemi çağır, IProperty aksi takdirde çağrısı. FindMapping(IProperty)

Uzantı Metotları

GetMapping(IRelationalTypeMappingSource, IProperty)

Belirli bir özellik için ilişkisel veritabanı türünü alır, hiçbir eşleme bulunmazsa oluşturulur.

GetMapping(IRelationalTypeMappingSource, String)

Verilen veritabanı türünü temsil eden eşlemeyi alır, hiçbir eşleme bulunmazsa oluşturulur.

Bazen aynı depo türünün farklı eşlemelere sahip olabileceğini unutmayın; Bu yöntem varsayılan değerini döndürür.

GetMapping(IRelationalTypeMappingSource, Type)

Belirli bir .NET türü için ilişkisel veritabanı türünü alır, hiçbir eşleme bulunmazsa oluşturulur.

GetMapping(IRelationalTypeMappingSource, Type, IModel)

Belirli bir .NET türü için ilişkisel veritabanı türünü alır, hiçbir eşleme bulunmazsa oluşturulur.

GetMappingForValue(IRelationalTypeMappingSource, Object)

Belirli bir nesne için ilişkisel veritabanı türünü alır, hiçbir eşleme bulunmazsa oluşturulur.

GetMappingForValue(IRelationalTypeMappingSource, Object, IModel)

Belirli bir nesne için ilişkisel veritabanı türünü alır, hiçbir eşleme bulunmazsa oluşturulur.

Şunlara uygulanır