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 ein für EF Core 7 veröffentlichter Anbieter funktioniert nicht mit EF Core 8.
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:
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.
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.