Megosztás:


Adatbázis-szolgáltatók

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

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.