OPTIONAL: Basiswissen Objekt-Relationales Mapping (ORM) als Grundlage
Überblick
- Bausteine des Entity Frameworks
- Softwarearchitekturen mit Entity Framework
- Entity Framework ObjectServices
- Mapping-Konzepte (CSDL, SSDL, MSL, EDMX)
- Werkzeuge (Visual Studio-Assistent/Designer, edmgen.exe, EF Power Tools, Entity Framework Profiler u.a.)
- Vorgehensmodell im Vergleich: Database First versus Modell First versus Code First (alias Code-based Modelling)
- Reverse Mapping bestehender Datenbanken via Database First und Code First/Code-based Modelling
- Forward Mapping via Modell First und Code First/Code-based Modelling
- Plain Old CLR Objects (POCO)
- DbContext vs. ObjectContext
Datenzugriffsszenarien
- LINQ-to-Entities
- Alle CRUD-Standardszenarien: Daten laden, Daten ändern, Daten anfügen, Daten speichern, Daten löschen
- Objektbeziehungen, Navigation und Ladestrategien (Lazy Loading, Eager Loading, Pre-Loading)
- Caching
- Änderungsverfolgung und Änderungskonflikte (Concurrency Control)
- Protokollierung
- Direkter SQL-Einsatz
- Nutzung von Stored Procedures und Table Valued Function
- Datenbank-Views nutzen
Besonderheiten bei Code-Based Modelling (alias Code First)
- POCO-Klassen mit Data Annotations erstellen
- Kontext erstellen
- Konventionen aktivieren/deaktivieren
- Konventionen selbst schreiben (Custom Konventions)
- Konfiguration durch Fluent API
- Datenbankschemagenerierung und Schemamigrationen
Entity Framework in verschiedenen Anwendungsarten zur Auswahl (pro Anwendungsart 0,25 - 0,5 Tage)
- Einsatz von Entity Framework in WPF
- Einsatz von Entity Framework in Windows Forms
- Einsatz von Entity Framework in ASP.NET
Entity Framework in verteilten Systemen/N-Tier-Anwendungen (ca. 0,5 Tage)
- Einsatz von Entity Framework in WCF Webservices
- Einsatz von Entity Framework in ASP.NET Web API
- Einsatz von Entity Framework mit dem Open Data Protocol (WCF Data Services, ASP.NET Web API Odata, RESTier)
Aufbauwissen
- Validierung mit Datenannotationen
- Datenbankmanagementsystemunabhängigkeit
- Dynamische Abfragen / Dynamic LINQ
- Serialisierung
- Komplexere Mapping-Szenarien (Complex Types, Vererbung)
- Caching und Second-Level-Caching
- Anpassung der Code-Generierung durch T4-Vorlagen
- Entity Framework Client Provider
- Entity SQL (eSQL)
- Leistungsoptimierungen/Performance-Tuning
- Tipps, Tricks, Best Practices