Seit dem Jahr 2022 Microsoft spricht in den Blogeinträgen für die kommende Version teilweise noch von "Entity Framework 7.0", abgekürzt EF7. Damit wird es schwieriger, die moderne Produktlinie von dem klassischen Entity Framework (derzeit Version 6.4) abzugrenzen sowie dem bereits zwischen 2014 und 2016 verwendeten Namen "Entity Framework 7.0" für die erste Version des modernen Entity Framework.
PlattformenDas neue Entity Framework Core (EF Core) lief ursprünglich auf allen .NET-Varianten (.NET Framework, .NET Core, Mono und Xamarin).
Entity Framework Core läuft aber seit Version 5.0 nur noch auf der jeweils aktuellsten modernen .NET-Version, also z.B. Entity Framework Core 6.0 auf .NET 6.0. Entwickler, die Entity Framework Core auf dem klassisches .NET Framework genutzt haben, stecken in einer Sackgasse. Sie können nur höchstens die Version 3.1 verwenden, deren Support Ende 2021 endet.
Unterstützte DatenbankenGenau wie für das klassisches Entity Framework ist auch für Entity Framework Core ein spezieller Datenbanktreiber notwendig, der über die Fähigkeiten eines normalen ADO.NET-Treibers hinausgeht. Sofern nicht beschränkt durch das Betriebssystem, unterstützt Entity Framework Core den Zugriff auf eine Vielzahl von Datenbankmanagementsystemen. Microsoft selbst liefert Entity Framework Core-Treiber für Microsoft SQL Server, SQLite, und ComosDB sowie einen In-Memory-Treiber für Unit Testing. Von den jeweiligen Datenbankherstellern, kommerziellen Drittanbietern oder aus der Community kommen Treiber für Oracle, MariaDB, PostgreSQL, MySQL, Firebird, DB2, Informix u.a. (siehe Liste unter [https://docs.microsoft.com/de-de/ef/core/providers/]). Sogar einen Treiber für Microsoft Access gibt es, der aber bei Entity Framework Core 3.1 verharrt ist. Entity Framework Core ist auch nicht auf relationale Datenbanken beschränkt, sondern kann auch NoSQL-Datenbanken ansprechen. Die Entwicklung eines Treibers für MongoDB ist in den Kinderschuhen stecken geblieben.
Neue Features in EF Core gegenüber dem klassischen ADO.NET Entity FrameworkX-Platform: Windows, Linux, Mac, iOS, Android SQLite-Provider von Microsoft
In-Memory-Provider
NoSql-Unterstützung
Mapping auf Memory-Tables
Default Values / Computed Values
Sequences
Shadow State (Mapping von zusätzlichen Spalten) Indexer Properties (Mapping von zusätzlichen Spalten und Tabellen)
CUD-Batching
Default Query Tracking Behaviour
Global Query Filter
Value Converter
Filtered Includes
Auto-Includes
Savepoints und Transaction-Ids
Verbesserte Funktionen in EF Core gegenüber dem klassischen ADO.NET Entity FrameworkDeutlich bessere Performance
Schemamigrationen im Team
Mischung SQL/SP/TVF und LINQ
Syntax für Fluent-API
Migration zur Laufzeit
Skip() ohne OrderBy()
Generiertes SQL ist einfacher und übersichtlicher
Projektionen auf Entitätsklasse
ThenInclude()
Weniger Aufrufe von DetectChanges()
Entfallene Features gegenüber dem Klassischen Entity FrameworkDB First mit EDMX
Model First mit EDMX
ObjectContext
Entity Object Entity SQL
Langjährige Erfahrungen bei der Entwicklung von Desktop-, Web- und Mobil-Anwendungen sowie dem Betrieb von Software geben die Top-Experten von www.IT-Visions.de gerne an Sie weiter.
Sie brauchen Unterstützung bei der Entwicklung Ihrer Software? www.IT-Visions.de entwickelt Ihre Anwendungen oder einzelne Module und übergibt Ihnen den Quellcode mit Dokumentation.