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.
Geçerli sağlayıcılar
Important
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.
Important
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, 10 |
docs |
|
Microsoft.EntityFrameworkCore.Sqlite |
SQLite 3.46.1 ve üzeri |
EF Core Projesi (Microsoft) |
|
8, 9, 10 |
docs |
|
Microsoft.EntityFrameworkCore.InMemory |
EF Core bellek içi veritabanı |
EF Core Projesi (Microsoft) |
Limitations |
8, 9, 10 |
docs |
|
Microsoft.EntityFrameworkCore.Cosmos |
Azure Cosmos DB SQL API'sı |
EF Core Projesi (Microsoft) |
|
8, 9, 10 |
docs |
|
Npgsql.EntityFrameworkCore.PostgreSQL |
PostgreSQL |
Npgsql Geliştirme Ekibi |
|
8, 9 |
docs |
|
Pomelo.EntityFrameworkCore.MySql |
MySQL, MariaDB |
Pomelo Foundation Projesi |
|
8, 9 |
readme |
|
MySql.EntityFrameworkCore |
MySQL |
MySQL projesi (Oracle) |
|
8, 9 |
docs |
|
Oracle.EntityFrameworkCore |
Oracle DB 19c ve üzeri |
Oracle |
|
8, 9, 10 |
docs |
|
MongoDB.EntityFrameworkCore |
MongoDB |
MongoDB |
|
8 |
docs |
|
Couchbase.EntityFrameworkCore |
Couchbase |
Couchbase |
|
8, 9 |
docs |
|
Devart.Data.MySql.EFCore |
MySQL 5 ve sonrası |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.Oracle.EFCore |
Oracle DB 9.2.0.4 ve sonrası |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.PostgreSql.EFCore |
PostgreSQL 8.0 ve sonrası |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.SQLite.EFCore |
SQLite 3 ve sonrası |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.DB2.EFCore |
DB2 |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.Bigcommerce.EFCore |
BigCommerce |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.Dynamics.EFCore |
Microsoft Dynamics 365 |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.FreshBooks.EFCore |
FreshBooks |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.Magento.EFCore |
Magento |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.MailChimp.EFCore |
Mailchimp |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.QuickBooks.EFCore |
QuickBooks |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.Salesforce.EFCore |
Salesforce |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.ExactTarget.EFCore |
Salesforce MC (ExactTarget) |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.Sugar.EFCore |
SugarCRM |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.Zoho.EFCore |
Zoho CRM |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.ZohoBooks.EFCore |
Zoho Kitapları |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.ZohoDesk.EFCore |
Zoho Masası |
DevArt |
Paid |
8, 9 |
docs |
|
MASES.EntityFrameworkCore.KNet |
Apache Kafka |
MASES Grubu |
Deneme, Abonelik |
8 |
docs |
|
InterBase |
InterBase |
InterBase |
|
8 |
docs |
|
FirebirdSql.EntityFrameworkCore.Firebird |
Firebird 3.0 ve sonrası |
Jiří Činčura |
|
8 |
docs |
|
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 |
readme |
|
Google.Cloud.EntityFrameworkCore.Spanner |
Google Cloud Spanner |
Cloud Spanner Ekosistemi |
|
8 |
tutorial |
|
Teradata.EntityFrameworkCore |
Teradata Veritabanı 16.10 ve sonrası |
Teradata |
|
3 |
website |
|
FileContextCore |
Verileri dosyalarda depolar |
Morris Janatzek |
Geliştirme amacıyla |
3 |
readme |
|
FileBaseContext |
Tabloları dosyalarda depolama |
k.D.g |
Geliştirme amacıyla |
8, 9, 10 |
readme |
|
EntityFrameworkCore.SqlServerCompact35 |
SQL Server Compact 3.5 |
Erik Ejlskov Jensen |
.NET Framework |
2 |
wiki |
|
EntityFrameworkCore.SqlServerCompact40 |
SQL Server Compact 4.0 |
Erik Ejlskov Jensen |
.NET Framework |
2 |
wiki |
|
EntityFrameworkCore.OpenEdge |
İlerleme OpenEdge |
Alex Wiese |
|
2 |
readme |
|
EFCore.Snowflake |
Snowflake |
Krzysztof Sielaff |
|
8 |
readme |
|
EFCore.Kusto |
Azure Veri Gezgini (Kusto) |
Anas İsmail Han |
|
8 |
readme |
|
EntityFrameworkCore.Ydb |
YDB |
YDB Ekibi |
|
9, 10 |
website |
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.
Important
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.