Az Entity Framework Core számos különböző adatbázishoz tud hozzáférni az adatbázis-szolgáltatóknak nevezett beépülő kódtárakon keresztül.
Aktuális szolgáltatók
Important
Az EF Core-szolgáltatókat számos forrásból építik ki. Nem minden szolgáltató tart fenn a Microsoft Entity Framework Core Projectrészeként. A szolgáltató mérlegelésekor mindenképpen értékelje ki a minőséget, a licencelést, a támogatást stb. annak érdekében, hogy megfeleljenek az Ön követelményeinek. Emellett tekintse át az egyes szolgáltatók dokumentációját a verziókompatibilitás részletes információiért.
Important
Az EF Core-szolgáltatók általában nem működnek a főbb verziókban. Az EF Core 8-hoz kiadott szolgáltató például nem fog működni az EF Core 9-zel.
| NuGet-csomag |
Támogatott adatbázismotorok |
Karbantartó / szállító |
Megjegyzések / Követelmények |
Az EF Core esetében |
Hasznos hivatkozások |
|
Microsoft.EntityFrameworkCore.SqlServer |
Azure SQL, SQL Server 2012-től kezdve, Azure Synapse Analytics |
EF Core Project (Microsoft) |
|
8, 9, 10 |
docs |
|
Microsoft.EntityFrameworkCore.Sqlite |
SQLite 3.46.1 és a továbbiakban |
EF Core Project (Microsoft) |
|
8, 9, 10 |
docs |
|
Microsoft.EntityFrameworkCore.InMemory |
EF Core memóriabeli adatbázis |
EF Core Project (Microsoft) |
Limitations |
8, 9, 10 |
docs |
|
Microsoft.EntityFrameworkCore.Cosmos |
Azure Cosmos DB SQL API |
EF Core Project (Microsoft) |
|
8, 9, 10 |
docs |
|
Npgsql.EntityFrameworkCore.PostgreSQL |
PostgreSQL |
Npgsql fejlesztőcsapat |
|
8, 9 |
docs |
|
Pomelo.EntityFrameworkCore.MySql |
MySQL, MariaDB |
Pomelo Alapítvány Projekt |
|
8, 9 |
readme |
|
MySql.EntityFrameworkCore |
MySQL |
MySQL-projekt (Oracle) |
|
8, 9 |
docs |
|
Oracle.EntityFrameworkCore |
Oracle DB 19c-től |
Oracle |
|
8, 9, 10 |
docs |
|
MongoDB.EntityFrameworkCore |
MongoDB |
MongoDB |
|
8 |
docs |
|
Couchbase.EntityFrameworkCore |
Couchbase |
Couchbase |
|
8, 9 |
docs |
|
Devart.Data.MySql.EFCore |
A MySQL 5-től kezdődően |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.Oracle.EFCore |
Oracle DB 9.2.0.4-től |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.PostgreSql.EFCore |
A PostgreSQL 8.0 verziótól kezdve |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.SQLite.EFCore |
SQLite 3-tól |
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 Könyvek |
DevArt |
Paid |
8, 9 |
docs |
|
Devart.Data.ZohoDesk.EFCore |
Zoho Desk |
DevArt |
Paid |
8, 9 |
docs |
|
MASES.EntityFrameworkCore.KNet |
Apache Kafka |
MASES-csoport |
Próbaverzió, előfizetés |
8 |
docs |
|
InterBase |
InterBase |
InterBase |
|
8 |
docs |
|
FirebirdSql.EntityFrameworkCore.Firebird |
Firebird 3.0-tól |
Jiří Činčura |
|
8 |
docs |
|
IBM.EntityFrameworkCore |
Db2, Informix |
IBM |
Fizetős verzió, Windows |
8 |
Kezdetekhez |
|
IBM.EntityFrameworkCore-lnx |
Db2, Informix |
IBM |
Fizetős, Linux |
8 |
Kezdetekhez |
|
IBM.EntityFrameworkCore-osx |
Db2, Informix |
IBM |
Fizetős, macOS |
8 |
Kezdetekhez |
|
EntityFrameworkCore.Jet |
Microsoft Access-fájlok |
CirrusRedOrg |
Windows |
8, 9 |
readme |
|
Google.Cloud.EntityFrameworkCore.Spanner |
Google Cloud Spanner |
Cloud Spanner-ökoszisztéma |
|
8 |
tutorial |
|
Teradata.EntityFrameworkCore |
A Teradata Database 16.10-től kezdődően |
Teradata |
|
3 |
website |
|
FileContextCore |
Adatok fájlokban való tárolására |
Morris Janatzek |
Fejlesztési célokra |
3 |
readme |
|
FileBaseContext |
Táblázatok tárolása fájlokban |
k.D.g |
Fejlesztési célokra |
8, 9, 10 |
readme |
|
EntityFrameworkCore.SqlServerCompact35 |
SQL Server Compact 3.5 |
Erik Ejlskov Jensen |
.NET-keretrendszer |
2 |
wiki |
|
EntityFrameworkCore.SqlServerCompact40 |
SQL Server Compact 4.0 |
Erik Ejlskov Jensen |
.NET-keretrendszer |
2 |
wiki |
|
EntityFrameworkCore.OpenEdge |
Progress OpenEdge |
Alex Wiese |
|
2 |
readme |
|
EFCore.Snowflake |
Snowflake |
Krzysztof Sielaff |
|
8 |
readme |
|
EFCore.Kusto |
Azure Data Explorer (Kusto) |
Anas Ismail Khan |
|
8 |
readme |
|
EntityFrameworkCore.Ydb |
YDB |
YDB-csapat |
|
9, 10 |
website |
Adatbázis-szolgáltató hozzáadása az alkalmazáshoz
Az EF Core adatbázis-szolgáltatóinak többsége NuGet-csomagként van elosztva, és az alábbiak szerint telepíthető:
dotnet add package provider_package_name
install-package provider_package_name
Telepítés után konfigurálja a szolgáltatót a DbContext-ban, akár a OnConfiguring metódusban, akár a AddDbContext metódusban, ha függőségi injektáló tartályt használ.
A következő sor például az SQL Server-szolgáltatót konfigurálja az átadott kapcsolati sztringgel:
optionsBuilder.UseSqlServer(
@"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");
Az adatbázis-szolgáltatók kiterjeszthetik az EF Core-t, hogy egyedi funkciókat engedélyezzenek adott adatbázisokra. Egyes fogalmak a legtöbb adatbázis esetében gyakoriak, és az elsődleges EF Core-összetevők közé tartoznak. Ilyen fogalmak például a lekérdezések kifejezése a LINQ-ban, a tranzakciók és az objektumok módosításainak nyomon követése az adatbázisból való betöltése után.
Egyes fogalmak egy adott szolgáltatóra vonatkoznak. Az SQL Server-szolgáltató például lehetővé teszi a memóriaoptimalizált táblák konfigurálását (ez az SQL Serverre jellemző funkció). Más fogalmak a szolgáltatók egy osztályára vonatkoznak.
A relációs adatbázisok EF Core-szolgáltatói például a közös Microsoft.EntityFrameworkCore.Relational könyvtárra épülnek, amely API-kat biztosít a tábla- és oszlopleképezések konfigurálásához, az idegenkulcs-korlátozásokhoz stb. A szolgáltatók általában NuGet-csomagokként vannak elosztva.
Important
Az EF Core új javításverziójának kiadásakor gyakran tartalmazza a Microsoft.EntityFrameworkCore.Relational csomag frissítéseit.
Relációsadatbázis-szolgáltató hozzáadásakor ez a csomag az alkalmazás tranzitív függőségévé válik.
Számos szolgáltató azonban az EF Core-tól függetlenül jelenik meg, és előfordulhat, hogy nem frissül, hogy a csomag újabb patch-verziójától függjön.
Annak érdekében, hogy biztosan megkapja az összes hibajavítást, javasoljuk, hogy az alkalmazás közvetlen függőségeként adja hozzá a Microsoft.EntityFrameworkCore.Relational javításverzióját.