Entity Framework Core, veritabanı sağlayıcıları olarak adlandırılan eklenti kitaplıkları aracılığıyla birçok farklı veritabanına erişebilir.
İçerik sağlayıcıları
Önemli
EF Core sağlayıcıları çeşitli kaynaklar tarafından oluşturulur. Tüm sağlayıcılar Microsoft Entity Framework Core Projesi kapsamında korunmaz. Sağlayıcıyı değerlendirirken gereksinimlerinizi karşıladığından emin olmak için kalite, lisanslama, destek vb. yönleri değerlendirmeyi unutmayın. Ayrıca, ayrıntılı sürüm uyumluluğu bilgileri için her sağlayıcının belgelerini gözden geçirmeyi unutmayın.
Önemli
EF Core sağlayıcıları genellikle ana sürümlerde çalışmaz. Örneğin, EF Core 8 için yayımlanan bir sağlayıcı EF Core 9 ile çalışmaz.
NuGet Paketi |
Desteklenen veritabanı altyapıları |
Bakımcı / Satıcı |
Notlar / Gereksinimler |
EF Core için |
Yararlı bağlantılar |
Microsoft.EntityFrameworkCore.SqlServer |
Azure SQL, SQL Server 2012 ve üzeri, Azure Synapse Analytics |
EF Core Projesi (Microsoft) |
|
8, 9 |
belgeler |
Microsoft.EntityFrameworkCore.Sqlite |
SQLite 3.46.1 ve üzeri |
EF Core Projesi (Microsoft) |
|
8, 9 |
belgeler |
Microsoft.EntityFrameworkCore.InMemory |
EF Core bellek içi veritabanı |
EF Core Projesi (Microsoft) |
Sınırlamalar |
8, 9 |
belgeler |
Microsoft.EntityFrameworkCore.Cosmos |
Azure Cosmos DB SQL API'sı |
EF Core Projesi (Microsoft) |
|
8, 9 |
belgeler |
Npgsql.EntityFrameworkCore.PostgreSQL |
PostgreSQL |
Npgsql Geliştirme Ekibi |
|
8, 9 |
belgeler |
Pomelo.EntityFrameworkCore.MySql |
MySQL, MariaDB |
Pomelo Foundation Projesi |
|
8, 9 |
benioku |
MySql.EntityFrameworkCore |
MySQL |
MySQL projesi (Oracle) |
|
8, 9 |
belgeler |
Oracle.EntityFrameworkCore |
Oracle DB 11.2 ve sonrası |
Oracle |
|
8, 9 |
web sitesi |
MongoDB.EntityFrameworkCore |
MongoDB |
MongoDB |
|
8 |
belgeler |
Couchbase.EntityFrameworkCore |
Couchbase |
Couchbase |
|
8, 9 |
belgeler |
Devart.Data.MySql.EFCore |
MySQL 5 ve sonrası |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.Oracle.EFCore |
Oracle DB 9.2.0.4 ve sonrası |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.PostgreSql.EFCore |
PostgreSQL 8.0 ve sonrası |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.SQLite.EFCore |
SQLite 3 ve sonrası |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.DB2.EFCore |
DB2 |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.Bigcommerce.EFCore |
BigCommerce |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.Dynamics.EFCore |
Microsoft Dynamics 365 |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.FreshBooks.EFCore |
FreshBook'lar |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.Magento.EFCore |
Magento |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.MailChimp.EFCore |
MailChimp |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.QuickBooks.EFCore |
QuickBook'lar |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.Salesforce.EFCore |
Salesforce |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.ExactTarget.EFCore |
Salesforce MC (ExactTarget) |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.Sugar.EFCore |
SugarCRM |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.Zoho.EFCore |
Zoho CRM |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.ZohoBooks.EFCore |
Zoho Kitapları |
DevArt |
Ücretli |
8, 9 |
belgeler |
Devart.Data.ZohoDesk.EFCore |
Zoho Masası |
DevArt |
Ücretli |
8, 9 |
belgeler |
MASES. EntityFrameworkCore.KNet |
Apache Kafka |
MASES Grubu |
Deneme, Abonelik |
8 |
belgeler |
InterBase |
InterBase |
InterBase |
|
8 |
belgeler |
FirebirdSql.EntityFrameworkCore.Firebird |
Firebird 3.0 ve sonrası |
Jiří Činčura |
|
8 |
belgeler |
IBM. EntityFrameworkCore |
Db2, Informix |
IBM |
Ücretli, Windows |
8 |
başlarken |
IBM. EntityFrameworkCore-lnx |
Db2, Informix |
IBM |
Ücretli, Linux |
8 |
başlarken |
IBM. EntityFrameworkCore-osx |
Db2, Informix |
IBM |
Ücretli, macOS |
8 |
başlarken |
EntityFrameworkCore.Jet |
Microsoft Access dosyaları |
CirrusRedOrg |
Windows |
8, 9 |
benioku |
Google.Cloud.EntityFrameworkCore.Spanner |
Google Cloud Spanner |
Cloud Spanner Ekosistemi |
|
8 |
öğretici |
Teradata.EntityFrameworkCore |
Teradata Veritabanı 16.10 ve sonrası |
Teradata |
|
3 |
web sitesi |
FileContextCore |
Verileri dosyalarda depolar |
Morris Janatzek |
Geliştirme amacıyla |
3 |
benioku |
FileBaseContext |
Tabloları dosyalarda depolama |
k.D.g |
Geliştirme amacıyla |
8, 9 |
benioku |
EntityFrameworkCore.SqlServerCompact35 |
SQL Server Compact 3.5 |
Erik Ejlskov Jensen |
.NET Çerçevesi |
2 |
wiki |
EntityFrameworkCore.SqlServerCompact40 |
SQL Server Compact 4.0 |
Erik Ejlskov Jensen |
.NET Çerçevesi |
2 |
wiki |
EntityFrameworkCore.OpenEdge |
İlerleme OpenEdge |
Alex Wiese |
|
2 |
benioku |
EFCore.Snowflake |
Kar tanesi |
Krzysztof Sielaff |
|
8 |
benioku |
Uygulamanıza veritabanı sağlayıcısı ekleme
EF Core için çoğu veritabanı sağlayıcısı NuGet paketleri olarak dağıtılır ve aşağıdaki gibi yüklenebilir:
dotnet add package provider_package_name
install-package provider_package_name
Yüklendikten sonra, bağımlılık ekleme kapsayıcısı kullanıyorsanız sağlayıcıyı DbContext
içinde, OnConfiguring
yönteminde veya AddDbContext
yönteminde yapılandırırsınız.
Örneğin, aşağıdaki satır SQL Server sağlayıcısını geçirilen bağlantı dizesiyle yapılandırmaktadır:
optionsBuilder.UseSqlServer(
@"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");
Veritabanı sağlayıcıları EF Core'un kapsamını genişleterek belirli veritabanlarına özgü işlevleri etkinleştirebilir. Bazı kavramlar çoğu veritabanında ortaktır ve birincil EF Core bileşenlerine dahildir. Bu tür kavramlar LINQ'de sorgu ifade etme, işlemler ve veritabanından yüklendikten sonra nesnelerde yapılan değişiklikleri izlemeyi içerir.
Bazı kavramlar belirli bir sağlayıcıya özeldir. Örneğin, SQL Server sağlayıcısı bellek için iyileştirilmiş tablolar yapılandırmanıza (SQL Server özgü bir özellik) olanak tanır. Diğer kavramlar bir sağlayıcı sınıfına özeldir.
Örneğin, ilişkisel veritabanları için EF Core sağlayıcıları; tablo ve sütun eşlemeleri, yabancı anahtar kısıtlamaları vb. yapılandırmaya yönelik API'ler sağlayan ortak Microsoft.EntityFrameworkCore.Relational
kitaplığını temel alır. Sağlayıcılar genellikle NuGet paketleri olarak dağıtılır.
Önemli
EF Core'un yeni bir düzeltme eki sürümü yayımlandığında sıklıkla Microsoft.EntityFrameworkCore.Relational
paketinin güncelleştirmelerini içerir.
İlişkisel veritabanı sağlayıcısı eklediğinizde, bu paket uygulamanızın geçişli bir bağımlılığı haline gelir.
Ancak birçok sağlayıcı EF Core'dan bağımsız olarak yayımlanır ve paketin daha yeni düzeltme eki sürümüne bağımlı olacak şekilde güncelleştirilmeyebilir.
Tüm hata düzeltmelerini aldığınızdan emin olmak için Microsoft.EntityFrameworkCore.Relational
düzeltme eki sürümünü uygulamanızın doğrudan bağımlılığı olarak eklemeniz önerilir.