Eklenti API'leri

EF Core uzantıları genellikle çekirdek EF ve sağlayıcı bileşenlerine mantık eklemeyi gerektirir. Bunun için genellikle türetilmiş bir bileşen oluşturulması ve iç hizmet sağlayıcısındaki özgün bileşenin değiştirilmesi gerekir. Birden çok uzantı aynı bileşeni değiştirmek istediğinde bu durum karmaşıklaşır. Bu gibi durumlarda, birden çok uzantının ek mantık sağlamasına izin vermek için eklenti API'leri sağlarız.

Hizmetlerin listesi

Eklenti API'lerinin listesi aşağıdadır.

Service Açıklama
ITypeMappingSourcePlugin .NET türleriyle ilkel depo türleri arasında eşlemeler ekler.
IRelationalTypeMappingSourcePlugin .NET türleriyle ilkel ilişkisel veritabanı türleri arasında eşlemeler ekler.
IConventionSetPlugin Model oluşturma kuralları ekler.
IMemberTranslatorPlugin .NET özellikleri için SQL çevirileri ekler.
IMethodCallTranslatorPlugin .NET yöntemleri için SQL çevirileri ekler.
IAggregateMethodCallTranslatorPlugin .NET numaralandırılabilir yöntemleri için SQL çevirileri ekler.
IEvaluatableExpressionFilterPlugin Belirli ifadelerin sunucu tarafında değerlendirilmesini zorunlu kılar.
IProviderCodeGeneratorPlugin yapı iskeleleri sağlayıcısı ve DbContext seçenekleri.

Örnekler

Bu API'leri kullanan bazı uzantılar şunlardır:

Extension Açıklama
Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite SpatiaLite türleri için tür eşlemeleri ve SQL çevirileri ekler.
Microsoft.EntityFrameworkCore.SqlServer.HierarchyId SQL Server'ın hierarchyid türü için tür eşlemeleri ve SQL çevirileri ekler.
Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite SQL Server'ın coğrafya ve geometri türleri için tür eşlemeleri ve SQL çevirileri ekler.
EFCore.CheckConstraints İlişkisel veritabanı denetimi kısıtlamaları için model oluşturma kuralları ekler.
EFCore Adlandırma Kuralları Alternatif ilişkisel veritabanı tablosu, sütunu ve kısıtlama adları için model oluşturma kuralları ekler.