Entity Framework Core (EFC) - Datenbankzugriff mit .NET
Webinar - GFU Cyrus AG
Nach diesem Seminar können Sie Entity Framework Core gezielt für die Entwicklung moderner Datenzugriffsschichten in .NET-Anwendungen einsetzen. Sie verstehen die zentralen Aufgaben von Entity-Klassen und DbContext, können relationale und objektrelationale Datenmodelle mit Konventionen, Data Annotations und Fluent API abbilden und Daten mit LINQ abfragen und verändern. Sie beherrschen grundlegende Migrations- und Reverse-Engineering-Verfahren und können Transaktionen, Raw SQL, Ladestrategien und Change Tracking sinnvoll einsetzen. Darüber hinaus können Sie typische Performance-, Concurrency- und Mapping-Fragestellungen analysieren und geeignete EF-Core-Techniken auswählen.
Das Konzept relationaler Datenbanken am Beispiel des SQL Servers
Das Objektorientierte Paradigma am Beispiel von C#
Object-Relational Impedance Mismatch
Aufgabe und Nutzen eines ORM
Architektur EF-Core-basierter Anwendungen
Aufbau einer Datenzugriffsschicht mit Entity Framework Core
Zentrale Bausteine: Entity-Klassen (POCO) und DbContext-Klasse
Aufgaben und Methoden des DbContext
Microsoft.EntityFrameworkCore und Provider-Konzept
Im Seminar verwendete Beispielumgebung und Werkzeuge
SQL Server
Visual Studio
NuGet Package Manager
Optional: Devart Entity Developer als Drittanbieterwerkzeug
Ein erstes EF-Core-Projekt
Projekt in Visual Studio einrichten
Erforderliche NuGet-Pakete installieren
Entity-Klassen erstellen
DbContext konfigurieren
Navigationsproperties verwenden
Datenbankverbindung über Konfiguration und appsettings.json
Erste Abfragen mit LINQ to Entities
Einfache Create-, Update- und Delete-Operationen
Migrations und Datenbankmodellierung
Grundlagen des Migrationskonzepts
Forward Engineering aus dem Objektmodell
Reverse Engineering aus bestehenden Datenbanken
Code First und Database First einordnen
Datenbankschema erzeugen und aktualisieren
Testdaten mit Data Seeding bereitstellen
Konfiguration des Datenmodells
Konventionen
Data Annotations
Fluent API
Value Conversions
Enumerationen abbilden
Constraints und Default-Werte konfigurieren
Beziehungen und Navigationsproperties modellieren
Erweiterte Mapping-Konzepte
Assoziationen
Vererbung
Owned Types
Complex Properties
Collections
JSON-basierte Datenstrukturen
Entity Splitting
Abfragen und Datenzugriff
LINQ to Entities
Filterung, Projektion, Sortierung und Gruppierung
Data Transfer Objects (DTO)
Nutzung von Datenbankfunktionen,
Views und gespeicherten Prozeduren
Raw SQL
Transaktionen
Ladestrategien und Änderungsverfolgung
Eager Loading
Explicit Loading
Lazy Loading einordnen
Change Tracking
Entity-Zustände
Hinzufügen, Ändern und Speichern von Entities
Tracking- und No-Tracking-Abfragen
Concurrency und asynchrone Verarbeitung
Optimistische Parallelitätskontrolle
Timestamp und Concurrency Tokens
Umgang mit konkurrierenden Änderungen
Asynchrone Abfragen und Speicheroperationen
CRUD- und Bulk-Operationen
Komplexe CRUD-Szenarien
Mengenorientierte Aktualisierungen und Löschungen
Einordnung von Bulk-Operationen
Hinweise für Massendatenverarbeitung
Logging und Diagnose
Logging in Entity Framework Core
Generierte SQL-Anweisungen analysieren
Fehler und unerwartetes Verhalten untersuchen
Diagnose von Datenbankzugriffen
Performance mit Entity Framework Core
Effiziente LINQ-Abfragen
Tracking gezielt einsetzen
Ladestrategien bewerten
Unnötige Datenbankzugriffe vermeiden
Hinweise zur Optimierung datenintensiver Anwendungen
Datenbankänderungen im Projektverlauf
Migrations für Änderungen am Modell verwenden
Bestehende Datenbanken aktualisieren
Umgang mit Schemaänderungen
Strategien für kontrollierte Datenbank-Updates
Dauer/zeitlicher Ablauf:
3 Tage
Zielgruppe:
Das Seminar richtet sich an .NET-Entwickler, Softwareentwickler und IT-Fachkräfte, die Entity Framework Core für den Datenbankzugriff einsetzen oder ihre bestehenden Kenntnisse vertiefen möchten. Es eignet sich besonders für Sie, wenn Sie relationale Datenbanken aus C#-Anwendungen heraus ansprechen, bestehende Datenzugriffsschichten modernisieren oder EF Core systematisch in neue Projekte integrieren möchten.
Teilnahmevoraussetzungen
Sie benötigen grundlegende praktische Kenntnisse in C# und .NET.
Sie sollten mit Klassen, Objekten, Eigenschaften und grundlegenden Konzepten der objektorientierten Programmierung vertraut sein.
Sie benötigen Grundlagenkenntnisse relationaler Datenbanken und SQL.
Grundkenntnisse im Umgang mit Visual Studio und NuGet sind hilfreich.
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern.
Diese Cookies werden nicht automatisiert gesetzt.
Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren.
Weitere Informationen finden Sie hier.