- Entity Framework
- Linq
- Nuget Paketverwaltung
Ziel dieser Übung ist die Grundlagen des Datenbankzugriffs per Entity Framework kennen zu lernen.
Die Typen SchoolClass und Pupil werden jeweils über eine Id-Eigenschaft identifiziert.
Ein Pupil besitzt eine Referenz auf seine School Class. Ebenso besitzt eine SchoolClass eine Sammlung von Pupil-Objekten.
-
Definieren Sie das Projekt
EfDemo.Persistenceals Startup Project (Solution Explorer: rechte Maustaste auf das Projekt ->"Set As Startup Project"). -
Fügen Sie in folgenden Projekten die Datei
appsettings.jsonhinzu:- EfDemo.Persistence
- EfDemo.UI
-
Konfigurieren Sie in den Properties (View -> Property Page) für die Datei
appsettings.jsonfolgende Einstellung:Hinweis: Dies muss für beide Vorkommen dieser Datei durchgeführt werden! Dadurch wird die Konfigurationsdatei bei der Ausführung gefunden.
-
Fügen Sie folgende Konfiguration (Verbindungseinstellungen) in die Dateien
appsettings.jsonein:{ "ConnectionStrings": { "DefaultConnection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=EFDemo;Integrated Security=True;" } } -
Öffnen Sie den NuGet-Manager für die Solution:
-
Fügen Sie folgende NuGet-Pakete hinzu:
Paket Core Persistence Test UI Microsoft.EntityFrameworkCore - Ja Ja Ja Microsoft.EntityFrameworkCore.Tools - Ja - - Microsoft.EntityFrameworkCore.SqlServer - Ja - Ja Microsoft.EntityFrameworkCore.InMemory - - Ja - Microsoft.Extensions.Configuration.Json - Ja - Ja -
Kompilieren Sie die Solution.
-
Öffnen Sie die „Package Manager Console“:
-
Wählen Sie als "Default Project" das Projekt
EfDemo.Persistenceaus: -
Analysieren Sie die Klassen
PupilundSchoolClass. -
Führen Sie der der "Package Manager Console" folgendes Kommando aus:
Add-Migration InitialMigration -
Analysieren Sie die neue Datei
Migrations\<FortlaufendeNr>_InitialMigration.cs. Was fällt ihnen im Vergleich zu den KlassenPupilundSchoolClassauf? -
Wenn Sie die Migration auf die Datenbank an ("Package Manager Console"):
Update-Database -Verbose -
Öffnen Sie den "SQL Server Object Explorer":
-
Analysieren Sie die erstellten Tabellen – schauen Sie sich insbesondere die Struktur der Tabellen an. Betrachten Sie im Vergleich auch die (Navigations-)Properties dieser Klassen:
-
Führen Sie mit dem "Test Explorer" die hinterlegten Unit Tests aus:
-
Analysieren Sie die bestehenden Tests
-
Erstellen Sie mithilfe eigener Unit Tests weitere Datenbankoperationen.
-
Definieren Sie das Projekt
EfDemo.UIals Startup Project (Solution Explorer: rechte Maustaste auf das Projekt ->"Set As Startup Project"). -
Führen Sie das UI-Projekt aus und analysieren Sie die Ausgaben und den Quellcode.







