Überblick über die Änderungen in EF Core gegenüber ADO.NET Entity Framework
- Konzeptionelle Änderungen
- Entfallene Features
- Breaking Changes bei dem API
- Cross-Plattform: Windows, UWP, Linux, MacOS, Android, iOS
- Bessere Performance
Datenspeicher
- Treiber von Microsoft (Microsoft SQL Server, SQLite, In Memory-Treiber, ComosDB)
- Treiber anderer Anbieter: Oracle, MySQL, PostgreSQL usw.
- Zugriff auf Nicht-Relationale Datenspeicher (NoSQL)
Verbesserte Features in Entity Framework Core
- 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()
- usw.
Neue Mapping-Features in Entity Framework Core
- Mapping für Entitäten ohne PK
- Mapping auf Records (C# 9.0)
- Integration mit Nullable Reference Types (C# 8.0)
- Datentypmapping für IPAddress und PhysicalAddress
- Shadow State
- Indexer Properties
- N:M mit und/oder ohne Zwischenentität
- Mapping auf Memory-Tables
- Default Values / (Stored) Computed Values
- Sequences
Neue LINQ- und API-Features in Entity Framework Core
- Projektionen auf Entitätsklassen
- CUD-Batching
- Default Query Tracking Behavior
- Identity Resolution für No-Tracking-Queries
- Global Query Filter
- Filtered Includes
- Split Queries
- Auto-Includes
- Asynchrone Streams mit await foreach (C# 8.0)
- Komposition SQL/SP/TVF und LINQ
- Wrapper für Table Value Functions
- Weitere skalare Datenbankfunktionen (EF.Functions)
Wichtige API- und Verhaltensänderungen in Entity Framework Core
- Ladestrategien / Lazy Loading
- Protokollierung
- Vererbungsstrategien
Praxis mit Entity Framework Core
- Reverse Engineering einer bestehenden Datenbank
- Forward Engineering einer neuen Datenbank
- Wechsel von Reverse Engineering auf Forward Engineering
- Deployment der Datenbank auf einen lokalen Datenbankserver
- Deployment der Datenbank auf einen Datenbankserver in der Cloud