Veritabanı Sağlayıcıları

Entity Framework Core sağlayıcılar olarak adlandırılan eklenti kitaplıkları aracılığıyla birçok farklı veritabanına erişebilirsiniz.

Geçerli sağlayıcılar

Önemli

EF Core sağlayıcılar çeşitli kaynaklar tarafından inşa edilmiştir. Tüm sağlayıcılar, 'nin bir parçası olarak Entity Framework Core Project. Bir sağlayıcıyı göz önünde bulundurarak, gereksinimlerinizi karşılamalarını sağlamak için kaliteyi, lisanslamayı, desteği vb. değerlendirin. Ayrıca ayrıntılı sürüm uyumluluk bilgileri için her sağlayıcının belgelerini gözden geçirmeyi de sağlar.

Önemli

EF Core sağlayıcılar genellikle ikincil sürümlerde çalışır, ancak ana sürümlerde çalışmaz. Örneğin, EF Core 2.1 için yayımlanan bir sağlayıcı EF Core 2.2 ile çalışmalı, ancak EF Core 3.0 ile çalışmaz.

NuGet Paketi Desteklenen veritabanı altyapıları Bakımcı /Satıcı Notlar / Gereksinimler Sürüm için hazır Yararlı bağlantılar
Microsoft.EntityFrameworkCore.SqlServer SQL Server 2012 ve sonra EF Core Project (Microsoft) 6.0 Dokümanlar
Microsoft.EntityFrameworkCore.Sqlite SQLite 3.7 ve sonra EF Core Project (Microsoft) 6.0 Dokümanlar
Microsoft.EntityFrameworkCore.InMemory EF Core bellek içinde veritabanı oluşturma EF Core Project (Microsoft) Sınırlamalar 6.0 Dokümanlar
Microsoft.EntityFrameworkCore. Cosmos Azure Cosmos DB SQL API EF Core Project (Microsoft) 6.0 Dokümanlar
Npgsql.EntityFrameworkCore.PostgreSQL PostgreSQL Npgsql Geliştirme Ekibi 6.0 Dokümanlar
Pomelo.EntityFrameworkCore.MySql MySQL, MariaDB Pomelo Foundation Project 6.0 Benioku
MySql.EntityFrameworkCore MySQL MySQL projesi (Oracle) 5.0 Dokümanlar
Oracle.EntityFrameworkCore Oracle DB 11.2 ve sonra Oracle 5.0 Web sitesi
Devart.Data.MySql.EFCore MySQL 5 ve sonra DevArt Ücretli 5.0 Dokümanlar
Devart.Data.Oracle.EFCore Oracle DB 9.2.0.4 ve sonra DevArt Ücretli 5.0 Dokümanlar
Devart.Data.PostgreSql.EFCore PostgreSQL 8.0 ve sonrası DevArt Ücretli 5.0 Dokümanlar
Devart.Data.SQLite.EFCore SQLite 3 ve sonra DevArt Ücretli 5.0 Dokümanlar
FirebirdSql.EntityFrameworkCore.Firebird Firebird 3.0 ve sonra Jiâ Činčura 5.0 Dokümanlar
IBM. EntityFrameworkCore Db2, Informix IBM Ücretli, Windows 5.0 Başlarken
IBM. EntityFrameworkCore-lnx Db2, Informix IBM Ücretli, Linux 5.0 Başlarken
IBM. EntityFrameworkCore-osx Db2, Informix IBM Ücretli, macOS 5.0 Başlarken
EntityFrameworkCore.Jet Microsoft Access dosyaları Bubi 3,1 Benioku
Teradata.EntityFrameworkCore Teradata Veritabanı 16.10 ve üzerinde Teradata 3,1 Web sitesi
Google.Cloud.EntityFrameworkCore.Spanner Google Cloud Spanner Bulut Spanner Ekosistemi Şu anda önizlemede 3,1 Öğretici
FileContextCore Verileri dosyalarda depolar Morris Janatzek Geliştirme amacıyla 3.0 Benioku
EntityFrameworkCore.SqlServerCompact35 SQL Server Compact 3.5 Erik Ejlskov Tümen .NET Framework 2,2 Wiki
EntityFrameworkCore.SqlServerCompact40 SQL Server Compact 4,0 Erik Ejlskov Tümen .NET Framework 2,2 Wiki
EntityFrameworkCore.OpenEdge Progress OpenEdge Alex Wiese 2.1 Benioku

Uygulamanıza veritabanı sağlayıcısı ekleme

EF Core veritabanı sağlayıcılarının çoğu NuGet paket 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 yönteminde veya yönteminde içinde içinde DbContextOnConfiguringAddDbContext sağlayıcıyı yapılandırırsiniz. Örneğin, aşağıdaki satır SQL Server sağlayıcıyı geçirilen bağlantı dizesiyle yapılandırıyor:

optionsBuilder.UseSqlServer(
    "Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");

Veritabanı sağlayıcıları, belirli EF Core işlevleri etkinleştirmek için bu işlevleri genişletebilirsiniz. Bazı kavramlar çoğu veritabanı için ortaktır ve birincil veri EF Core dahil edilir. Bu tür kavramlar arasında LINQ'deki sorguları ifade etme, işlemler ve veritabanından yüklendiklerinden sonra nesnelerdeki değişiklikleri izleme yer alır. 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ızı sağlar (belirli bir özellik SQL Server). Diğer kavramlar bir sağlayıcı sınıfına özeldir. Örneğin, ilişkisel EF Core sağlayıcılar, tablo ve sütun eşlemelerini, yabancı anahtar kısıtlamalarını vb. yapılandırmak için API'ler sağlayan ortak kitaplığını Microsoft.EntityFrameworkCore.Relational temel alır. Sağlayıcılar genellikle NuGet dağıtılır.

Önemli

Uygulamanın yeni bir düzeltme EF Core yayın olduğunda, genellikle paket güncelleştirmelerini Microsoft.EntityFrameworkCore.Relational içerir. İlişkisel veritabanı sağlayıcısı eklerken bu paket, uygulamanıza geçişli bir bağımlılık haline gelir. Ancak birçok sağlayıcı, EF Core bağımsız olarak serbest bırakılabilir ve bu paketin yeni düzeltme eki sürümüne bağlı olarak güncelleştirilemez. Tüm hata düzeltmelerini elde etmek için, düzeltme eki sürümünü doğrudan uygulama bağımlılığı Microsoft.EntityFrameworkCore.Relational olarak eklemeniz önerilir.