Entity Framework Core (EFC) - Datenbankzugriff mit .NET
Im Kurs tauchen Sie tief in die Welt von Entity Framework Core mit .NET ein. Sie beginnen mit den grundlegenden Konzepten und Vorteilen von EFC. Sie lernen alles über Entity-Klassen und Mapping-Techniken. Wir behandeln die Mapping-Strategien. Dazu gehören Tabellen-Mapping, View-Mapping, Stored Procedures-Mapping, JSON-Columns und Hierarchie-Strukturen. Sie erfahren, wie Sie effiziente Abfragen erstellen, die Performance optimieren und Migrations verwalten. Das Seminar bietet praktische Beispiele und Übungen. So stellen wir sicher, dass Sie Entity Framework Core sicher in Ihren eigenen Projekten anwenden können. Zum Schluss erfahren Sie, was es Neues in EFC gibt und was in Zukunft geplant ist.
Einführung in Entity Framework Core
- Konzepte
- Vorteile von Entity Framework Core
- ADO.NET Überblick
- System.Data.SqlClient vs. Microsoft.Data.SqlClient
- Versionsvergleich und Unterschiede Entity Framework Core
- Neuerungen
Grundlagen Entity Framework Core
- Einführung in DbContext - Klasse
- Entity (POCO) - Konventionen und Regeln
- Behandlung von Änderungen: Add, Update, Delete
- Wie funktioniert der ChangeTracker
Entity-Klasse und Mappingmöglichkeiten
- Mapping mit Tabellen
- Mapping Konventionen
- Property Mapping
- Mapping mit View
- Mapping mit Store Procedures
- Mapping mit SQL-Queries
- Mapping JSON-Columns
- Mapping Hierarchy-Strukturen
Inheritance Mapping
- Tabelle pro Hierarchie (TPH)
- Tabelle pro Typ (TPT)
- Tabelle pro konkreter Typ (TPC)
- Konventionen
Konfigurationen
- Data Annotations
- Fluent API
- Fluent API mit IEntityTypeConfiguration
- Bereitstellen von Testdaten
- Arbeiten mit verschiedenen Datenbank-Provider (MSSQL, SQLite, InMemoryDB)
Logging und Diagnose
- Einstieg Protokollierung
- Microsoft.Extensions.Logging
- EF Core - Events
- Interceptors
- DiagnosticListener
- Event Counters
Performance
- Effiziente Abfragen
- Indexing
- DbContext Pooling
- Weitere Tipps
Migrationen
- Verwenden von Migrations
- Versionierungen von Migrations
- Benutzerdefinierte Migrationsvorgänge
- Migrationen mit mehreren DB-Provider
- Benutzerdefinierte Migrationsverlaufstabelle
Queries
- Lambda-Expression
- Query Expression
- Lambda Expression vs. Query Expression
Relationale Daten
- Navigationseigenschaften und Beziehungen zwischen Entitäten
- Eager Loading, Lazy Loading
- Typisierte DTO-Klassen vs. Anonyme Typen
Transaktionen in EF Core
- Reverse Engineering mit Scaffolding
- Weitere O/R Mapper im Überblick
- Dapper
- NHibernate
- Weitere O/R Mapper im Kurzüberblick
- EFCore vs. Dapper
- EFCore vs. NHibernate
Architekturansätze
- Was ist Unit Of Work - Design Pattern?
- Erstellen eines generischen Repository - Design Patterns?
- Verwenden von EFCore mit ASP.NET Core WebAPI
Ausblick Entity Framework Core 9
- Aktueller Entwicklungsstand
Dieses Seminar richtet sich an Softwareentwicklerinnen und Softwareentwickler, .NET-Entwicklerinnen und .NET-Entwickler sowie Anwendungsentwicklerinnen und Anwendungsentwickler, die mit Entity Framework Core einen modernen, wartbaren und performanten Datenbankzugriff in ihren Anwendungen umsetzen möchten.
Angesprochen sind insbesondere Fachkräfte, die relationale Datenbanken aus .NET-Anwendungen heraus anbinden, Datenmodelle mit C# abbilden, CRUD-Funktionen entwickeln und den Umgang mit DbContext, Entitäten, Beziehungen, Abfragen, Änderungen und Migrationen praxisnah erlernen oder vertiefen möchten.
Ebenso ist das Seminar passend für technische Projektmitarbeitende und Solution-Architektinnen und Solution-Architekten, die Datenzugriffsschichten in .NET-Projekten konzipieren, bewerten oder weiterentwickeln und dafür ein fundiertes Verständnis der Möglichkeiten und Grenzen von Entity Framework Core benötigen.
Für die Teilnahme an diesem Seminar sollten Sie über grundlegende Kenntnisse in VB.NET oder C# verfügen. Außerdem sind grundlegende Datenbankkenntnisse erforderlich. Erste praktische Erfahrung mit Datenbankzugriff in .NET, ADO.NET oder OR-Mappern ist hilfreich, aber nicht zwingend erforderlich.