Delen via


Database Providers

Entity Framework Core heeft toegang tot veel verschillende databases via invoegtoepassingsbibliotheken die databaseproviders worden genoemd.

Huidige providers

Belangrijk

EF Core-providers worden gebouwd door verschillende bronnen. Niet alle providers worden onderhouden als onderdeel van het Microsoft Entity Framework Core Project. Wanneer u een provider overweegt, moet u ervoor zorgen dat u kwaliteit, licenties, ondersteuning, enzovoort evalueert om ervoor te zorgen dat deze voldoen aan uw vereisten. Zorg er ook voor dat u de documentatie van elke provider bekijkt voor gedetailleerde versiecompatibiliteitsinformatie.

Belangrijk

EF Core-providers werken doorgaans niet over grote versies heen. Een provider die is uitgebracht voor EF Core 8 werkt bijvoorbeeld niet met EF Core 9.

NuGet-pakket Ondersteunde database-engines Beheerder/leverancier Notities/vereisten Voor EF Core Nuttige koppelingen
Microsoft.EntityFrameworkCore.SqlServer Azure SQL, SQL Server 2012 en hoger, Azure Synapse Analytics EF Core Project (Microsoft) 8, 9 documenten
Microsoft.EntityFrameworkCore.Sqlite SQLite 3.46.1 en hoger EF Core Project (Microsoft) 8, 9 documenten
Microsoft.EntityFrameworkCore.InMemory EF Core-database in het geheugen EF Core Project (Microsoft) beperkingen 8, 9 documenten
Microsoft.EntityFrameworkCore.Cosmos Azure Cosmos DB SQL API EF Core Project (Microsoft) 8, 9 documenten
Npgsql.EntityFrameworkCore.PostgreSQL- PostgreSQL Npgsql Development Team 8, 9 documenten
Pomelo.EntityFrameworkCore.MySql MySQL, MariaDB Pomelo Stichtingsproject 8, 9 leesmij-
MySql.EntityFrameworkCore MySQL MySQL-project (Oracle) 8, 9 documenten
Oracle.EntityFrameworkCore Oracle DB 11.2 en hoger Oracle 8, 9 website
MongoDB.EntityFrameworkCore MongoDB MongoDB 8 documenten
Devart.Data.MySql.EFCore MySQL 5 en hoger DevArt Betaald 8, 9 documenten
Devart.Data.Oracle.EFCore Oracle DB 9.2.0.4 en hoger DevArt Betaald 8, 9 documenten
Devart.Data.PostgreSql.EFCore PostgreSQL 8.0 en hoger DevArt Betaald 8, 9 documenten
Devart.Data.SQLite.EFCore SQLite 3 en hoger DevArt Betaald 8, 9 documenten
Devart.Data.DB2.EFCore DB2 DevArt- Betaald 8, 9 documenten
Devart.Data.Bigcommerce.EFCore BigCommerce DevArt- Betaald 8, 9 documenten
Devart.Data.Dynamics.EFCore Microsoft Dynamics 365 DevArt Betaald 8, 9 documenten
Devart.Data.FreshBooks.EFCore FreshBooks DevArt Betaald 8, 9 documenten
nl-NL: Devart.Data.Magento.EFCore Magento DevArt Betaald 8, 9 documenten
Devart.Data.MailChimp.EFCore Mailchimp DevArt Betaald 8, 9 documenten
Devart.Data.QuickBooks.EFCore QuickBooks DevArt Betaald 8, 9 documenten
Devart.Data.Salesforce.EFCore Salesforce DevArt Betaald 8, 9 documenten
Devart.Data.ExactTarget.EFCore Salesforce MC (ExactTarget) DevArt Betaald 8, 9 documenten
Devart.Data.Sugar.EFCore SugarCRM DevArt Betaald 8, 9 documenten
Devart.Data.Zoho.EFCore Zoho CRM DevArt Betaald 8, 9 documenten
Devart.Data.ZohoBooks.EFCore Zoho Books DevArt Betaald 8, 9 documenten
Devart.Data.ZohoDesk.EFCore Zoho Desk DevArt- Betaald 8, 9 documenten
MASES.EntityFrameworkCore.KNet Apache Kafka MASES Group Proefversie, abonnement 8 documenten
InterBase InterBase InterBase 8 documenten
FirebirdSql.EntityFrameworkCore.Firebird Firebird 3.0 en hoger Jiří Činčura 8 documenten
IBM.EntityFrameworkCore Db2, Informix IBM Betaald, Windows 8 aan de slag
IBM.EntityFrameworkCore-lnx Db2, Informix IBM Betaald, Linux 8 aan de slag
IBM.EntityFrameworkCore-osx Db2, Informix IBM Betaald, macOS 8 aan de slag
EntityFrameworkCore.Jet Microsoft Access-bestanden CirrusRedOrg Ramen 8, 9 leesmij-
Google.Cloud.EntityFrameworkCore.Spanner Google Cloud Spanner Cloud Spanner Ecosysteem Momenteel in voorvertoning 6 zelfstudie
Teradata.EntityFrameworkCore Teradata Database 16.10 en hoger Teradata- 3 website
FileContextCore Slaat gegevens op in bestanden Morris Janatzek Voor ontwikkelingsdoeleinden 3 leesmij-
FileBaseContext Tabellen opslaan in bestanden k.D.g Voor ontwikkelingsdoeleinden 8, 9 leesmij-
EntityFrameworkCore.SqlServerCompact35 SQL Server Compact 3.5 Erik Ejlskov Jensen .NET Framework 2 wiki
EntityFrameworkCore.SqlServerCompact40 SQL Server Compact 4.0 Erik Ejlskov Jensen .NET Framework 2 wiki -
EntityFrameworkCore.OpenEdge Progress OpenEdge Alex Wiese 2 leesmij-

Een databaseprovider toevoegen aan uw toepassing

De meeste databaseproviders voor EF Core worden gedistribueerd als NuGet-pakketten en kunnen als volgt worden geïnstalleerd:

dotnet add package provider_package_name

Zodra de provider is geïnstalleerd, configureert u de provider in uw DbContext, in de OnConfiguring methode of in de AddDbContext methode als u een afhankelijkheidsinjectiecontainer gebruikt. Met de volgende regel configureert u bijvoorbeeld de SQL Server-provider met de doorgegeven verbindingsreeks:

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

Databaseproviders kunnen EF Core uitbreiden om functionaliteit in te schakelen die uniek is voor specifieke databases. Sommige concepten zijn gebruikelijk voor de meeste databases en zijn opgenomen in de primaire EF Core-onderdelen. Dergelijke concepten omvatten het uitdrukken van query's in LINQ, transacties en het bijhouden van wijzigingen in objecten zodra ze vanuit de database zijn geladen. Sommige concepten zijn specifiek voor een bepaalde provider. Met de SQL Server-provider kunt u bijvoorbeeld tabellen die zijn geoptimaliseerd voor geheugen configureren (een functie die specifiek is voor SQL Server). Andere concepten zijn specifiek voor een klasse providers. EF Core-providers voor relationele databases bouwen bijvoorbeeld voort op de algemene Microsoft.EntityFrameworkCore.Relational-bibliotheek, die API's biedt voor het configureren van tabel- en kolomtoewijzingen, beperkingen voor refererende sleutels, enzovoort. Providers worden meestal gedistribueerd als NuGet-pakketten.

Belangrijk

Wanneer er een nieuwe patchversie van EF Core wordt uitgebracht, bevat deze vaak updates voor het Microsoft.EntityFrameworkCore.Relational-pakket. Wanneer u een relationele databaseprovider toevoegt, wordt dit pakket een transitieve afhankelijkheid van uw toepassing. Maar veel providers worden onafhankelijk van EF Core uitgebracht en kunnen niet worden bijgewerkt om afhankelijk te zijn van de nieuwere patchversie van dat pakket. Om ervoor te zorgen dat u alle oplossingen voor fouten krijgt, wordt u aangeraden de patchversie van Microsoft.EntityFrameworkCore.Relational toe te voegen als een directe afhankelijkheid van uw toepassing.