Dela via


Databasprovidrar

Entity Framework Core kan komma åt många olika databaser via plugin-bibliotek som kallas databasproviders.

Aktuella leverantörer

Viktig

EF Core-leverantörer skapas av en mängd olika källor. Alla leverantörer underhålls inte som en del av Microsoft Entity Framework Core Project. När du överväger en leverantör bör du utvärdera kvalitet, licensiering, support osv. för att säkerställa att de uppfyller dina krav. Se också till att du läser dokumentationen för varje leverantör för detaljerad information om versionskompatibilitet.

Viktig

EF Core-leverantörer fungerar vanligtvis inte i större versioner. Till exempel kommer en provider som har släppts för EF Core 8 inte att fungera med EF Core 9.

NuGet-paket Databasmotorer som stöds Underhållare/leverantör Anteckningar/krav För EF Core Användbara länkar
Microsoft.EntityFrameworkCore.SqlServer Azure SQL, SQL Server 2012 och senare, Azure Synapse Analytics EF Core Project (Microsoft) 8, 9 dokument
Microsoft.EntityFrameworkCore.Sqlite SQLite 3.46.1 och senare EF Core Project (Microsoft) 8, 9 dokument
Microsoft.EntityFrameworkCore.InMemory EF Core-databas i minnet EF Core Project (Microsoft) begränsningar 8, 9 dokument
Microsoft.EntityFrameworkCore.Cosmos Azure Cosmos DB SQL API EF Core Project (Microsoft) 8, 9 dokument
Npgsql.EntityFrameworkCore.PostgreSQL PostgreSQL Npgsql-utvecklingsteamet 8, 9 dokument
Pomelo.EntityFrameworkCore.MySql MySQL, MariaDB Pomelostiftelseprojektet 8, 9 läs-mig
MySql.EntityFrameworkCore MySQL MySQL-projekt (Oracle) 8, 9 dokument
Oracle.EntityFrameworkCore Oracle DB 11.2 och senare Oracle 8, 9 webbplats
MongoDB.EntityFrameworkCore MongoDB MongoDB 8 dokument
Devart.Data.MySql.EFCore MySQL 5 och senare DevArt Betalad 8, 9 dokument
Devart.Data.Oracle.EFCore Oracle DB 9.2.0.4 och senare DevArt Betalad 8, 9 dokument
Devart.Data.PostgreSql.EFCore PostgreSQL 8.0 och senare DevArt Betalad 8, 9 dokument
Devart.Data.SQLite.EFCore SQLite 3 och senare DevArt Betalad 8, 9 dokument
Devart.Data.DB2.EFCore DB2 DevArt Betalad 8, 9 dokument
Devart.Data.Bigcommerce.EFCore BigCommerce DevArt Betalad 8, 9 dokument
Devart.Data.Dynamics.EFCore Microsoft Dynamics 365 DevArt Betalad 8, 9 dokument
Devart.Data.FreshBooks.EFCore FreshBooks DevArt Betalad 8, 9 dokument
Devart.Data.Magento.EFCore Magento DevArt Betalad 8, 9 dokument
Devart.Data.MailChimp.EFCore Mailchimp DevArt Betalad 8, 9 dokument
Devart.Data.QuickBooks.EFCore QuickBooks DevArt Betalad 8, 9 dokument
Devart.Data.Salesforce.EFCore Salesforce DevArt Betalad 8, 9 dokument
Devart.Data.ExactTarget.EFCore Salesforce MC (ExactTarget) DevArt Betalad 8, 9 dokument
Devart.Data.Sugar.EFCore SugarCRM DevArt Betalad 8, 9 dokument
Devart.Data.Zoho.EFCore Zoho CRM DevArt Betalad 8, 9 dokument
Devart.Data.ZohoBooks.EFCore Zoho-böcker DevArt Betalad 8, 9 dokument
Devart.Data.ZohoDesk.EFCore Zoho Desk DevArt Betalad 8, 9 dokument
MASES.EntityFrameworkCore.KNet Apache Kafka MASES Group Utvärderingsversion, prenumeration 8 dokument
InterBase InterBase InterBase 8 dokument
FirebirdSql.EntityFrameworkCore.Firebird Firebird 3.0 och senare Jiří Činčura 8 dokument
IBM.EntityFrameworkCore Db2, Informix IBM Betald, Windows 8 komma igång
IBM.EntityFrameworkCore-lnx Db2, Informix IBM Betald, Linux 8 komma igång
IBM.EntityFrameworkCore-osx Db2, Informix IBM Betald, macOS 8 komma igång
EntityFrameworkCore.Jet Microsoft Access-filer CirrusRedOrg Windows 8, 9 Läs mig
Google.Cloud.EntityFrameworkCore.Spanner Google Cloud Spanner Cloud Spanner-ekosystemet För närvarande i förhandsversion 6 handledning
Teradata.EntityFrameworkCore Teradata Database 16.10 och senare Teradata 3 webbplats
FileContextCore Lagrar data i filer Morris Janatzek I utvecklingssyfte 3 läs mig
FileBaseContext Lagra tabeller i filer k.D.g I utvecklingssyfte 8, 9 läs mig
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 readme

Lägga till en databasprovider i ditt program

De flesta databasprovidrar för EF Core distribueras som NuGet-paket och kan installeras på följande sätt:

dotnet add package provider_package_name

När du har installerat den konfigurerar du providern i din DbContext, antingen i metoden OnConfiguring eller i metoden AddDbContext om du använder en container för beroendeinmatning. Följande rad konfigurerar till exempel SQL Server-providern med den angivna anslutningssträngen:

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

Databasprovidrar kan utöka EF Core för att aktivera funktioner som är unika för specifika databaser. Vissa begrepp är gemensamma för de flesta databaser och ingår i de primära EF Core-komponenterna. Sådana begrepp omfattar att uttrycka frågor i LINQ, transaktioner och spåra ändringar i objekt när de har lästs in från databasen. Vissa begrepp är specifika för en viss leverantör. Med SQL Server-providern kan du till exempel konfigurera minnesoptimerade tabeller (en funktion som är specifik för SQL Server). Andra begrepp är specifika för en klass av leverantörer. EF Core-providrar för relationsdatabaser bygger till exempel på det gemensamma Microsoft.EntityFrameworkCore.Relational-biblioteket, som tillhandahåller API:er för att konfigurera tabell- och kolumnmappningar, begränsningar för sekundärnyckel osv. Leverantörer distribueras vanligtvis som NuGet-paket.

Viktig

När en ny korrigeringsversion av EF Core släpps innehåller den ofta uppdateringar av Microsoft.EntityFrameworkCore.Relational-paketet. När du lägger till en relationsdatabasprovider blir det här paketet ett transitivt beroende av ditt program. Men många leverantörer släpps oberoende av EF Core och kanske inte uppdateras för att använda den nyare patch-versionen av paketet. För att se till att du får alla felkorrigeringar rekommenderar vi att du lägger till korrigeringsversionen av Microsoft.EntityFrameworkCore.Relational som ett direkt beroende av ditt program.