- Dieses Schulungsmodul kann mit allen aktuellen Entity Framework Core-Versionen (z.B. 8.0, 7.0, 6.0, 5.0) entsprechend Ihren Wünschen durchgeführt werden.
- Bei den Zieldatenbanken können Sie wählen zwischen Microsoft SQL Server, SQL Azure, SQLite, MySQL, PostgreSQL, Oracle oder Cosmos DB (andere auf Anfrage)
- Auf expliziten Wunsch könnte auch eine ältere Version von Entity Framework Core geschult werden
Optional
Das Grundkonzept des Objekt-Relationales-Mappings (ORM)Vergleich zwischen Entity Framework Core und ADO.NET Entity FrameworkEinführung
Einsatzgebiete von Entity Framework CoreBausteine von Entity Framework Core Betrieb auf dem klassischen .NET Framework und .NET Core Architektur von Entity Framework Core-basierten AnwendFungenVerfügbare DatenbanktreiberPerformance von Entity Framework Core im Vergleich zu Entity Framework Grundkonzepte von Entity Framework Core
Grundkonzepte von Entity Framework Core: Entitätsklassen und Kontextklassen (DbContext)Reverse Engineering (Database First) vs. Forward Engineering (Object Model First)Modelle generieren (Reverse Engineering)
Werkzeuge für das Reverse Engineering: PowerShell, Kommandozeile, EF Core Power ToolsProjekteinrichtungHerausforderungen bei der ModellgenerierungAnpassung der Code-Generierung mit T4-TemplatesVerbesserung des generierten ProgrammcodesModelle selbst erstellen (Forward Engineering)
Erstellen einer persistenten Klasse mit Plain Old CLR Objects (POCOs) Beziehungen zu anderen KlassenDataannotationsEntity Framework-Kontextklasse (DbContext)Eingebaute KonventionenNutzung von EnumerationenVererbung und Vererbungsstrategien (TPH, TPT, TPC)Datenbank erstellen aus ModellenModelle anpassen
Konventionen überschreibenExplizite Konfiguration mit Annotationen/.NET-Attributen Explizite Konfiguration mit Fluent-APIDatenbankschemagenerierung und Schemamigrationen
PowerShell-Commandlets Migrationen definierenSchemamigrationen ausführenZurückkehren zu alten StändenMigrationsklasse Komplexere Migrationen mit DatenaktualisierungData SeedingDatenbankoperationen (CRUD)
Objekte anlegenObjekte abfragen mit LINQ Methodensyntax vs. Query-Syntax
Umsetzung in SQL
Objekte abfragen mit SQL, Views, Stored Procedures und Table-valued FunctionsQuery TagsDaten ändernDaten löschenMassenoperationen mit ExecuteUpdate() und ExecuteDelete()Einfügen, Ändern und Löschen per Stored Procedure bei SaveChanges() Objektbeziehungen und Ladestrategien
Abhängigkeiten definierenNavigieren zwischen ObjektenNachladenEager Loading (Include/ThenInclude/Auto Includes)PreloadingLazy Loading (ab Version 2.1)Aufbauwissen
Architekturfragen: Rolle von EFCore in der Sofwtarearchitektur, Atached vs. DetachedBesondere Mapping-Optionen: Shadow State, Table Splitting/Owned Types, Entity Splitting, JSON-Mapping u.a.CachingProtokollierung (Logging)Asynchrone ProgrammierungDynamische LINQ-AbfragenGlobale FilterValue ConversionsKaskadierendes LöschenKonflikterkennung und Konfliktlösung (Concurrency)Transaktionen (inkl. TransactionScope)Einsatzgebiete
Einsatz von Entity Framework in ASP.NET Core und Blazor (Server, Cloud)Einsatz von Entity Framework in Desktopanwendungen (WPF und/oder Windows Forms)Einsatz von Entity Framework in Mobile Apps (.NET MAUI)Einsatz von Entity Framework in Blazor-Apps im BrowserOptional: Profiwissen
Konventionen anpassen und selbst erstellenVerhalten von Entity Framework Core ändern mit InterceptorenLeistungsoptimierungen/Performance-Tuning (No-Tracking, Caching, Compiled Queries, Compiled Models, u.a.)Unit Testing / Integrationstests mit In-Memory-TreiberTipps, Tricks, Best PracticesOptional: Zusatzwerkzeuge
EF Core Power ToolsLINQPadEF ProfilerEntity DeveloperOptional: Zusatzkomponenten wie z.B. EFPlus