Freigeben über


Datenbankanbieter

Entity Framework Core kann viele verschiedene Datenbanken über Plug-in-Bibliotheken erreichen, die als „Datenbankanbieter“ bezeichnet werden.

Aktuelle Anbieter

Wichtig

EF Core-Anbieter werden durch eine Vielzahl von Quellen erstellt. Nicht alle Anbieter werden im Rahmen des Entity Framework Core-Projekts von Microsoft verwaltet. Wenn Sie einen Anbieter in Betracht ziehen, sollten Sie Aspekte wie Qualität, Lizenzierung und Support auswerten, um sicherzustellen, dass dieser Ihren Anforderungen entspricht. Lesen Sie außerdem in jedem Fall die ausführlichen Informationen zur Versionskompatibilität in der Dokumentation der einzelnen Anbieter.

Wichtig

EF Core-Anbieter können in der Regel nicht für Hauptversionen verwendet werden. Beispielsweise funktioniert ein Anbieter, der für EF Core 8 bereitgestellt wurde, nicht mit EF Core 9.

NuGet-Paket Unterstützte Datenbank-Engines Maintainer/Anbieter Hinweise/Anforderungen Für EF Core Nützliche Links
Microsoft.EntityFrameworkCore.SqlServer Azure SQL, SQL Server ab 2012, Azure Synapse Analytics EF Core-Projekt (Microsoft) 8, 9 Dokumentationen
Microsoft.EntityFrameworkCore.Sqlite SQLite ab Version 3.46.1 EF Core-Projekt (Microsoft) 8, 9 Dokumentationen
Microsoft.EntityFrameworkCore.InMemory EF Core-In-Memory-Datenbank EF Core-Projekt (Microsoft) Einschränkungen 8, 9 Dokumentationen
Microsoft.EntityFrameworkCore.Cosmos Azure Cosmos DB SQL-API EF Core-Projekt (Microsoft) 8, 9 Dokumentationen
Npgsql.EntityFrameworkCore.PostgreSQL PostgreSQL Npgsql-Entwicklungsteam 8, 9 Dokumentationen
Pomelo.EntityFrameworkCore.MySql MySQL, MariaDB Pomelo Foundation-Projekt 8, 9 Readme
MySql.EntityFrameworkCore MySQL MySQL-Projekt (Oracle) 8, 9 Dokumentationen
Oracle.EntityFrameworkCore Oracle DB 11.2 und höher Orakel 8, 9 Website
MongoDB.EntityFrameworkCore MongoDB MongoDB 8 Dokumentationen
Couchbase.EntityFrameworkCore Couchbase Couchbase 8, 9 Dokumentationen
Devart.Data.MySql.EFCore MySQL 5 oder höher DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.Oracle.EFCore Oracle DB 9.2.0.4 und höher DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.PostgreSql.EFCore PostgreSQL 8.0 oder höher DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.SQLite.EFCore SQLite 3 oder höher DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.DB2.EFCore DB2 DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.Bigcommerce.EFCore BigCommerce DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.Dynamics.EFCore Microsoft Dynamics 365 DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.FreshBooks.EFCore FreshBooks DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.Magento.EFCore Magento DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.MailChimp.EFCore Mailchimp DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.QuickBooks.EFCore QuickBooks. DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.Salesforce.EFCore Salesforce DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.ExactTarget.EFCore Salesforce MC (ExactTarget) DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.Sugar.EFCore SugarCRM DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.Zoho.EFCore Zoho CRM DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.ZohoBooks.EFCore Zoho-Bücher DevArt Bezahlt 8, 9 Dokumentationen
Devart.Data.ZohoDesk.EFCore Zoho Desk DevArt Bezahlt 8, 9 Dokumentationen
MASES. EntityFrameworkCore.KNet Apache Kafka MASES Group Testversion, Abonnement 8 Dokumentationen
InterBase InterBase InterBase 8 Dokumentationen
FirebirdSql.EntityFrameworkCore.Firebird Firebird 3.0 und höher Jiří Činčura 8 Dokumentationen
IBM. EntityFrameworkCore DB2, Informix IBM Kostenpflichtig, Windows 8 Erste Schritte
IBM. EntityFrameworkCore-lnx DB2, Informix IBM Kostenpflichtig, Linux 8 Erste Schritte
IBM. EntityFrameworkCore-osx DB2, Informix IBM Kostenpflichtig, macOS 8 Erste Schritte
EntityFrameworkCore.Jet Microsoft Access-Dateien CirrusRedOrg Fenster 8, 9 Readme
Google.Cloud.EntityFrameworkCore.Spanner Google Cloud Spanner Cloud Spanner-Ökosystem 8 Tutorial
Teradata.EntityFrameworkCore Teradata-Datenbank ab 16.10 Teradata 3 Website
FileContextCore Speichert Daten in Dateien Morris Janatzek Dient Entwicklungszwecken 3 Readme
FileBaseContext Speichern von Tabellen in Dateien k.D.g Dient Entwicklungszwecken 8, 9 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 Schneeflocke Krzysztof Sielaff 8 Readme

Hinzufügen eines Datenbankanbieters zu Ihrer Anwendung

Die meisten Datenbankanbieter für EF Core werden als NuGet-Pakete verteilt und können wie folgt installiert werden:

dotnet add package provider_package_name

Nach Abschluss der Installation konfigurieren Sie den Anbieter in DbContext entweder in der OnConfiguring-Methode oder in der AddDbContext-Methode, wenn Sie einen Abhängigkeitsinjektionscontainer verwenden. Die folgende Zeile konfiguriert z.B. den SQL Server-Anbieter mit der übergebenen Verbindungszeichenfolge:

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

Datenbankanbieter können EF Core erweitern, um datenbankspezifische Funktionen zu aktivieren. Einige Konzepte gelten für die meisten Datenbanken und sind im Leistungsumfang der primären EF Core-Komponenten inbegriffen. Zu diesen Konzepten gehören das Ausdrücken von Abfragen in LINQ, Transaktionen und das Nachverfolgen von Änderungen an Objekten, nachdem sie aus der Datenbank geladen wurden. Einige Konzepte gelten speziell für einen bestimmten Anbieter. Der SQL Server-Anbieter ermöglicht es Ihnen beispielsweise, speicheroptimierte Tabellen (ein für SQL Server spezifisches Feature) zu konfigurieren. Andere Konzepte gelten speziell für eine Klasse von Anbietern. Beispielsweise bauen EF Core-Anbieter für relationale Datenbanken auf der gemeinsamen Microsoft.EntityFrameworkCore.Relational-Bibliothek auf, die u.a. APIs für die Konfiguration von Tabellen- und Spaltenzuordnungen und Fremdschlüsseleinschränkungen bereitstellt. Anbieter werden in der Regel als NuGet-Pakete verteilt.

Wichtig

Eine neue veröffentlichte Patchversion von EF Core enthält häufig Updates für das Microsoft.EntityFrameworkCore.Relational-Paket. Wenn Sie einen relationale Datenbankanbieter hinzufügen, wird dieses Paket zu einer transitiven Abhängigkeit Ihrer Anwendung. Viele Anbieter werden jedoch unabhängig von EF Core veröffentlicht und können nicht dahingehend aktualisiert werden, dass sie von der neueren Patchversion dieses Pakets abhängen. Um sicherzustellen, dass Sie von allen Fehlerbehebungen profitieren, wird empfohlen, die Patchversion von Microsoft.EntityFrameworkCore.Relational als direkte Abhängigkeit von Ihrer Anwendung hinzuzufügen.