Megosztás a következőn keresztül:


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

Fontos

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.

Fontos

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 dokumentumok
Microsoft.EntityFrameworkCore.Sqlite SQLite 3.46.1 és a továbbiakban EF Core Project (Microsoft) 8, 9 dokumentumok
Microsoft.EntityFrameworkCore.InMemory EF Core memóriabeli adatbázis EF Core Project (Microsoft) korlátozások 8, 9 dokumentumok
Microsoft.EntityFrameworkCore.Cosmos Azure Cosmos DB SQL API EF Core Project (Microsoft) 8, 9 dokumentumok
Npgsql.EntityFrameworkCore.PostgreSQL PostgreSQL Npgsql fejlesztőcsapat 8, 9 dokumentumok
Pomelo.EntityFrameworkCore.MySql MySQL, MariaDB Pomelo Alapítvány Projekt 8, 9 olvasd el
MySql.EntityFrameworkCore MySQL MySQL-projekt (Oracle) 8, 9 dokumentumok
Oracle.EntityFrameworkCore Oracle DB 11.2-től Oracle 8, 9 webhely
MongoDB.EntityFrameworkCore MongoDB MongoDB 8 dokumentumok
Devart.Data.MySql.EFCore A MySQL 5-től kezdődően DevArt Fizetett 8, 9 dokumentumok
Devart.Data.Oracle.EFCore Oracle DB 9.2.0.4-től DevArt- Fizetett 8, 9 dokumentumok
Devart.Data.PostgreSql.EFCore A PostgreSQL 8.0 verziótól kezdve DevArt- Fizetett 8, 9 dokumentumok
Devart.Data.SQLite.EFCore SQLite 3-tól DevArt Fizetett 8, 9 dokumentumok
Devart.Data.DB2.EFCore DB2 DevArt Fizetett 8, 9 dokumentumok
Devart.Data.Bigcommerce.EFCore BigCommerce DevArt Fizetett 8, 9 dokumentumok
Devart.Data.Dynamics.EFCore Microsoft Dynamics 365 DevArt Fizetett 8, 9 dokumentumok
Devart.Data.FreshBooks.EFCore FreshBooks DevArt Fizetett 8, 9 dokumentumok
Devart.Data.Magento.EFCore Magento DevArt Fizetett 8, 9 dokumentumok
Devart.Data.MailChimp.EFCore Mailchimp DevArt Fizetett 8, 9 dokumentumok
Devart.Data.QuickBooks.EFCore Gyorskönyvek DevArt Fizetett 8, 9 dokumentumok
Devart.Data.Salesforce.EFCore Salesforce DevArt Fizetett 8, 9 dokumentumok
Devart.Data.ExactTarget.EFCore Salesforce MC (ExactTarget) DevArt- Fizetett 8, 9 dokumentumok
Devart.Data.Sugar.EFCore SugarCRM DevArt Fizetett 8, 9 dokumentumok
Devart.Data.Zoho.EFCore Zoho CRM DevArt Fizetett 8, 9 dokumentumok
Devart.Data.ZohoBooks.EFCore Zoho Könyvek DevArt Fizetett 8, 9 dokumentumok
Devart.Data.ZohoDesk.EFCore Zoho Desk DevArt Fizetett 8, 9 dokumentumok
MASES.EntityFrameworkCore.KNet Apache Kafka MASES-csoport Próbaverzió, előfizetés 8 dokumentumok
InterBase InterBase InterBase 8 dokumentumok
FirebirdSql.EntityFrameworkCore.Firebird Firebird 3.0-tól Jiří Činčura 8 dokumentumok
IBM.EntityFrameworkCore Db2, Informix IBM Fizetős, Windows 8 első lépések
IBM.EntityFrameworkCore-lnx Db2, Informix IBM Fizetős, Linux 8 első lépések
IBM-et EntityFrameworkCore-osx Db2, Informix IBM Fizetős, macOS 8 első lépések
EntityFrameworkCore.Jet Microsoft Access-fájlok CirrusRedOrg Windows 8, 9 olvasási
Google.Cloud.EntityFrameworkCore.Spanner Google Cloud Spanner Cloud Spanner-ökoszisztéma Jelenleg előzetes verzióban 6 oktatóanyag
Teradata.EntityFrameworkCore A Teradata Database 16.10-től kezdődően Teradata 3 webhely
FileContextCore Adatok fájlokban való tárolására Morris Janatzek Fejlesztési célokra 3 olvasási
FileBaseContext Táblázatok tárolása fájlokban k.D.g Fejlesztési célokra 8, 9 olvasási
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 olvasási

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.

Fontos

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.