Veritabanı Sağlayıcıları

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 7 için yayımlanan bir sağlayıcı EF Core 8 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 ve SQL Server 2012 ve üzeri EF Core Projesi (Microsoft) 6, 7, 8 belgeler
Microsoft.EntityFrameworkCore.Sqlite SQLite 3.7 ve sonrası EF Core Projesi (Microsoft) 6, 7, 8 belgeler
Microsoft.EntityFrameworkCore.InMemory EF Core bellek içi veritabanı EF Core Projesi (Microsoft) Sınırlamalar 6, 7, 8 belgeler
Microsoft.EntityFrameworkCore.Cosmos Azure Cosmos DB SQL API'sı EF Core Projesi (Microsoft) 6, 7, 8 belgeler
Npgsql.EntityFrameworkCore.PostgreSQL PostgreSQL Npgsql Geliştirme Ekibi 6, 7, 8 belgeler
Pomelo.EntityFrameworkCore.MySql MySQL, MariaDB Pomelo Foundation Projesi 6, 7, 8 benioku
MySql.EntityFrameworkCore MySQL MySQL projesi (Oracle) 6, 7 belgeler
Oracle.EntityFrameworkCore Oracle DB 11.2 ve sonrası Oracle 6, 7 web sitesi
MongoDB.EntityFrameworkCore MongoDB MongoDB Şu anda önizleme aşamasında 7 belgeler
Devart.Data.MySql.EFCore MySQL 5 ve sonrası DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.Oracle.EFCore Oracle DB 9.2.0.4 ve sonrası DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.PostgreSql.EFCore PostgreSQL 8.0 ve sonrası DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.SQLite.EFCore SQLite 3 ve sonrası DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.DB2.EFCore DB2 DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.Bigcommerce.EFCore BigCommerce DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.Dynamics.EFCore Microsoft Dynamics 365 DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.FreshBooks.EFCore FreshBooks DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.Magento.EFCore Magento DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.MailChimp.EFCore MailChimp DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.QuickBooks.EFCore QuickBooks DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.Salesforce.EFCore Salesforce DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.ExactTarget.EFCore Salesforce MC (ExactTarget) DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.Sugar.EFCore SugarCRM DevArt Ücretli 6, 7, 8 belgeler
Devart.Data.Zoho.EFCore Zoho CRM DevArt Ücretli 6, 7, 8 belgeler
MASES. EntityFrameworkCore.KNet Apache Kafka MASES Grubu Deneme, Abonelik 6, 7, 8 belgeler
Interbase Interbase Interbase 6 belgeler
FirebirdSql.EntityFrameworkCore.Firebird Firebird 3.0 ve sonrası Jiří Činčura 7 belgeler
IBM.EntityFrameworkCore Db2, Informix IBM Ücretli, Windows 6 başlarken
IBM.EntityFrameworkCore-lnx Db2, Informix IBM Ücretli, Linux 6 başlarken
IBM.EntityFrameworkCore-osx Db2, Informix IBM Ücretli, macOS 6 başlarken
EntityFrameworkCore.Jet Microsoft Access dosyaları CirrusRedOrg Windows 6, 7, 8 (Önizleme) benioku
Google.Cloud.EntityFrameworkCore.Spanner Google Cloud Spanner Cloud Spanner Ekosistemi Şu anda önizleme aşamasında 6 öğ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 7, 8 benioku
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 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

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.