Udostępnij za pośrednictwem


Dostawcy baz danych

Platforma Entity Framework Core może uzyskiwać dostęp do wielu różnych baz danych za pośrednictwem bibliotek wtyczek nazywanych dostawcami baz danych.

Aktualni dostawcy

Ważne

Dostawcy platformy EF Core są tworzeni przez różne źródła. Nie wszyscy dostawcy są utrzymywani w ramach projektu Microsoft Entity Framework Core. Rozważając wybór dostawcy, oceń jego jakość, licencjonowanie, pomoc techniczną itp. i upewnij się, że spełnia on Twoje wymagania. Pamiętaj również o zapoznaniu się z dokumentacją każdego dostawcy, aby uzyskać szczegółowe informacje o zgodności wersji.

Ważne

Dostawcy platformy EF Core zwykle nie działają w różnych wersjach głównych. Na przykład dostawca wydany dla platformy EF Core 8 nie będzie działać z programem EF Core 9.

Pakiet NuGet Obsługiwane aparaty baz danych Element utrzymujący / dostawca Uwagi/wymagania Dla programu EF Core Przydatne łącza
Microsoft.EntityFrameworkCore.SqlServer Azure SQL, od SQL Server 2012 w górę, Azure Synapse Analytics Projekt EF Core (Microsoft) 8, 9 Dokumenty
Microsoft.EntityFrameworkCore.Sqlite SQLite 3.46.1 i wzwyż Projekt EF Core (Microsoft) 8, 9 Dokumenty
Microsoft.EntityFrameworkCore.InMemory Baza danych EF Core w pamięci Projekt EF Core (Microsoft) Ograniczenia 8, 9 Dokumenty
Microsoft.EntityFrameworkCore.Cosmos Interfejs API SQL usługi Azure Cosmos DB Projekt EF Core (Microsoft) 8, 9 Dokumenty
Npgsql.EntityFrameworkCore.PostgreSQL PostgreSQL Zespół deweloperów npgsql 8, 9 Dokumenty
Pomelo.EntityFrameworkCore.MySql MySQL, MariaDB Projekt Pomelo Foundation 8, 9 readme
MySql.EntityFrameworkCore MySQL Projekt MySQL (Oracle) 8, 9 Dokumenty
Oracle.EntityFrameworkCore Oracle DB 11.2 i nowsze wersje Wyrocznia 8, 9 Witryna internetowa
MongoDB.EntityFrameworkCore MongoDB MongoDB 8 Dokumenty
Couchbase.EntityFrameworkCore Couchbase Couchbase 8, 9 Dokumenty
Devart.Data.MySql.EFCore MySQL 5 i nowsze wersje DevArt Płatne 8, 9 Dokumenty
Devart.Data.Oracle.EFCore Oracle DB 9.2.0.4 i nowsze wersje DevArt Płatne 8, 9 Dokumenty
Devart.Data.PostgreSql.EFCore PostgreSQL 8.0 i nowsze wersje DevArt Płatne 8, 9 Dokumenty
Devart.Data.SQLite.EFCore SQLite 3 i nowsze wersje DevArt Płatne 8, 9 Dokumenty
Devart.Data.DB2.EFCore DB2 DevArt Płatne 8, 9 Dokumenty
Devart.Data.Bigcommerce.EFCore BigCommerce DevArt Płatne 8, 9 Dokumenty
Devart.Data.Dynamics.EFCore Microsoft Dynamics 365 DevArt Płatne 8, 9 Dokumenty
Devart.Data.FreshBooks.EFCore FreshBooks DevArt Płatne 8, 9 Dokumenty
Devart.Data.Office.EFCore Łac. DevArt Płatne 8, 9 Dokumenty
Devart.Data.MailChimp.EFCore Mailchimp DevArt Płatne 8, 9 Dokumenty
Devart.Data.QuickBooks.EFCore QuickBooks DevArt Płatne 8, 9 Dokumenty
Devart.Data.Salesforce.EFCore Salesforce DevArt Płatne 8, 9 Dokumenty
Devart.Data.ExactTarget.EFCore Salesforce MC (ExactTarget) DevArt Płatne 8, 9 Dokumenty
Devart.Data.Sugar.EFCore SugarCRM DevArt Płatne 8, 9 Dokumenty
Devart.Data.Zoho.EFCore Zoho CRM DevArt Płatne 8, 9 Dokumenty
Devart.Data.ZohoBooks.EFCore Książki Zoho DevArt Płatne 8, 9 Dokumenty
Devart.Data.ZohoDesk.EFCore Zoho Desk DevArt Płatne 8, 9 Dokumenty
MASES. EntityFrameworkCore.KNet Apache Kafka Grupa MASES Wersja próbna, subskrypcja 8 Dokumenty
InterBase InterBase InterBase 8 Dokumenty
FirebirdSql.EntityFrameworkCore.Firebird Firebird 3.0 i nowsze wersje Jiří Činčura 8 Dokumenty
IBM. EntityFrameworkCore Db2, Informix IBM Płatne, Windows 8 wprowadzenie
IBM. EntityFrameworkCore-lnx Db2, Informix IBM Płatne, Linux 8 wprowadzenie
IBM. EntityFrameworkCore-osx Db2, Informix IBM Płatne, macOS 8 wprowadzenie
EntityFrameworkCore.Jet Pliki programu Microsoft Access CirrusRedOrg Windows 8, 9 readme
Google.Cloud.EntityFrameworkCore.Spanner Google Cloud Spanner Ekosystem rozwiązania Cloud Spanner 8 samouczek
Teradata.EntityFrameworkCore Teradata Database 16.10 i nowsze wersje Teradata 3 Witryna internetowa
FileContextCore Przechowuje dane w plikach Morris Janatzek Do celów programistycznych 3 readme
PlikBaseContext Przechowywanie tabel w plikach k.D.g Do celów programistycznych 8, 9 readme
EntityFrameworkCore.SqlServerCompact35 SQL Server Compact 3.5 Erik Ejlskov Jensen Środowisko .NET Framework 2 witryna wiki
EntityFrameworkCore.SqlServerCompact40 SQL Server Compact 4.0 Erik Ejlskov Jensen Środowisko .NET Framework 2 witryna wiki
EntityFrameworkCore.OpenEdge Postęp OpenEdge Alex Wiese 2 readme
EFCore.Snowflake Śnieżynka Krzysztof Sielaff 8 readme

Dodawanie dostawcy bazy danych do aplikacji

Większość dostawców baz danych dla platformy EF Core jest dystrybuowana jako pakiety NuGet i można je zainstalować w następujący sposób:

dotnet add package provider_package_name

Po zainstalowaniu dostawcy należy go skonfigurować w klasie DbContext, w metodzie OnConfiguring albo AddDbContext, jeśli używasz kontenera wstrzykiwania zależności. Na przykład następujący wiersz konfiguruje dostawcę programu SQL Server z przekazanymi parametrami połączenia:

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

Dostawcy baz danych mogą rozszerzyć platformę EF Core, aby zapewnić funkcje unikatowe dla określonych baz danych. Niektóre pojęcia są wspólne dla większości baz danych i są uwzględniane w podstawowych składnikach platformy EF Core. Te pojęcia obejmują wyrażanie zapytań w składni LINQ, transakcje i śledzenie zmian w obiektach po załadowaniu ich z bazy danych. Niektóre pojęcia są specyficzne dla określonego dostawcy. Na przykład dostawca programu SQL Server umożliwia skonfigurowanie tabel zoptymalizowanych pod kątem pamięci (funkcja specyficzna dla programu SQL Server). Inne pojęcia są specyficzne dla klasy dostawców. Na przykład dostawcy platformy EF Core dla relacyjnych baz danych opierają się na wspólnej bibliotece Microsoft.EntityFrameworkCore.Relational, która udostępnia interfejsy API służące do konfigurowania mapowań tabel i kolumn, ograniczeń klucza obcego itp. Dostawcy są zwykle dystrybuowani jako pakiety NuGet.

Ważne

Nowe wersje poprawek platformy EF Core często zawierają aktualizacje pakietu Microsoft.EntityFrameworkCore.Relational. Po dodaniu dostawcy relacyjnej bazy danych ten pakiet staje się zależnością przechodnią aplikacji. Jednak wielu dostawców jest udostępnianych niezależnie od platformy EF Core i może nie zostać zaktualizowanych tak, aby zależeć od nowszej wersji poprawki tego pakietu. Aby uzyskać wszystkie poprawki błędów, zaleca się dodanie wersji poprawki pakietu Microsoft.EntityFrameworkCore.Relational jako bezpośredniej zależności aplikacji.