Entity Framework Core 5.0

Eintrag zuletzt aktualisiert am: 06.05.2020


Entity Framework Core 5.0 ist der Nachfolger von Entity Framework Core 3.1. Die Version 4.0 wurde ausgelassen in Angleichung an .NET 5.0, das zusammen mit Entity Framework Core 5.0 erscheint.

Geplanter Erscheinungstermin: Nov 2020

Platformen
Entity Framework Core 5.0 Preview 3 läuft nicht nur auf .NET 5.0, sondern auf allen Plattformen, die .NET Standard 2.1 anbieten (also z.B. .NET Core 3.1 und aktuelle Xamarin-Versionen).

Das klassisches .NET Framework ist damit aber ausgeschlossen, da es auch in der aktuellsten Version 4.8 nur .NET Standard 2.0 realisiert. Entity Framework Core 1.0, 1.1, 2.0, 2.1 und 2.2 liefen auf dem .NET Framework. Mit Entity Framework Core 3.0 hat Microsoft die klassischen .NET-Entwickler plötzlich ausgeschlossen, dann aber auf deren Drängen Entity Framework Core 3.1 wieder auf .NET Framework zum Laufen gebracht – dabei aber direkt auf GitHub klargestellt [https://github.com/aspnet/EntityFrameworkCore/issues/18141], dass dies eine letzte Ausnahme war.

Bereits verfügbare Neuerungen
In den aktuellen Preview-Versionen bereits realisierte Neuerungen sind:
 Neue Annotation [Keyless] als Alternative zum Fluent-API-Aufruf HasNokey()  Realisiert seit Preview 1
 Neue Annotation [BackingField] als Alternative zum Fluent-API-Aufruf HasField()  Realisiert seit Preview 1
 Erweiterungen der Parameter bei den Kommandozeilenbefehlen Scaffold-DbContext und dotnet ef dbcontext scaffold  Realisiert seit Preview 3
 Erweiterungen der Parameter bei den Kommandozeilenbefehlen Update-Database und dotnet ef database update  Realisiert seit Preview 3
Eager Loading mit Filter (Filtered Include)  Realisiert in Preview 3
 Weitere skalare Datenbankfunktionen  Realisiert seit Preview 1 bzw. 3
 Einfache Anzeige des zu einer LINQ-Abfrage gehörenden SQL-Befehls: ToQueryString() und CreateDbCommand() sowie im Visual Studio Debugger per Debugger View.  Realisiert seit Preview 1
 Vereinfachte Konfiguration der Protokollierung mit LogTo()  Realisiert seit Preview 1
 Detaillierte Fehlermeldungen mit EnableDetailedErrors()  Realisiert in Preview 3

Weitere geplante Neuerungen

Weitere geplante, aber noch nicht realisierte neue Funktionen in Entity Framework Core 5.0 sind:
 Abstraktion von N:M-Beziehungen mit Many-to-Many Navigation Properties (a.k.a "skip navigations"), wobei die Zwischenentität nicht komplett entfallen soll, aber in den Navigationsbeziehungen übergangen werden kann.
 Table-per-Type (TPT)-Vererbung
Verbessern will Microsoft diese Funktionen:
 Vereinheitlichungen bei ToTable(), ToQuery(), ToView(), FromSql(), etc.
 Abermals Verbesserungen bei der Übersetzung von LINQ zu SQL
 Vereinfachungen für die Ausführungen von Schemamigrationen beim Deployment der Anwendung
 Verbesserte Integration in Blazor, Xamarin, Windows Forms, WPF und WinUI3
 Performance
Darüber hinaus will Microsoft die Dokumentation verbessern, insbesondere eine bisher nicht vorhandene Dokumentation für den Provider "Microsoft.Data.Sqlite" für die Datenbank SQLite schreiben.