Dela via


Databasprovidrar

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

Aktuella leverantörer

Important

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.

Important

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, 10 docs
Microsoft.EntityFrameworkCore.Sqlite SQLite 3.46.1 och senare EF Core Project (Microsoft) 8, 9, 10 docs
Microsoft.EntityFrameworkCore.InMemory EF Core-databas i minnet 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-utvecklingsteamet 8, 9 docs
Pomelo.EntityFrameworkCore.MySql MySQL, MariaDB Pomelostiftelseprojektet 8, 9 readme
MySql.EntityFrameworkCore MySQL MySQL-projekt (Oracle) 8, 9 docs
Oracle.EntityFrameworkCore Oracle DB 19c och senare Oracle 8, 9, 10 docs
MongoDB.EntityFrameworkCore MongoDB MongoDB 8 docs
Couchbase.EntityFrameworkCore Couchbase Couchbase 8, 9 docs
Devart.Data.MySql.EFCore MySQL 5 och senare DevArt Paid 8, 9 docs
Devart.Data.Oracle.EFCore Oracle DB 9.2.0.4 och senare DevArt Paid 8, 9 docs
Devart.Data.PostgreSql.EFCore PostgreSQL 8.0 och senare DevArt Paid 8, 9 docs
Devart.Data.SQLite.EFCore SQLite 3 och senare 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-böcker DevArt Paid 8, 9 docs
Devart.Data.ZohoDesk.EFCore Zoho Desk DevArt Paid 8, 9 docs
MASES.EntityFrameworkCore.KNet Apache Kafka MASES-grupp Utvärderingsversion, prenumeration 8 docs
InterBase InterBase InterBase 8 docs
FirebirdSql.EntityFrameworkCore.Firebird Firebird 3.0 och senare Jiří Činčura 8 docs
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 Betalversion, macOS 8 komma igång
EntityFrameworkCore.Jet Microsoft Access-filer CirrusRedOrg Windows 8, 9 readme
Google.Cloud.EntityFrameworkCore.Spanner Google Cloud Spanner Cloud Spanner-ekosystemet 8 tutorial
Teradata.EntityFrameworkCore Teradata Database 16.10 och senare Teradata 3 website
FileContextCore Lagrar data i filer Morris Janatzek I utvecklingssyfte 3 readme
FileBaseContext Lagra tabeller i filer k.D.g I utvecklingssyfte 8, 9, 10 readme
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
EFCore.Snowflake Snowflake Krzysztof Sielaff 8 readme
EFCore.Kusto Azure Data Explorer (Kusto) Anas Ismail Khan 8 readme
EntityFrameworkCore.Ydb YDB YDB-team 9, 10 website

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.

Important

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.