Les 3b: Entity Framework Herhalen

Python intro
Programming basics-II
Les 3 / Week 7a
Entity Framework (Herhalen)
CSD-IV
Les 3b
1 / 26
next
Slide 1: Slide
Applicatie- en mediaontwikkelaarMBOStudiejaar 3

This lesson contains 26 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 60 min

Items in this lesson

Python intro
Programming basics-II
Les 3 / Week 7a
Entity Framework (Herhalen)
CSD-IV
Les 3b

Slide 1 - Slide

This item has no instructions

Deze les
Herhalen:
  • Entity Framework
  • Seeders
  • CRUD: Read
Daarna:
  • Opdracht 3.7: Gegevens ophalen, filteren sorteren (zelfstandig)
  • FIK0-CSD-IV-Wk03: H2 RPG Classes
    (⏰ Vóór zondag 23:59 inleveren)

Slide 2 - Slide

This item has no instructions

Deze les
(20 min theorie):
  • Herhalen Entity Framework
  • Seeders
(30 min praktijk):
  • Entity Framework Stappenplan afronden (DevCitySim)
(15 min theorie):
  • Theorie LINQ, Filteren en Sorteren
(30 min praktijk):
  • Praktisch oefenen Filteren en Sorteren met LINQ
(Wanneer er extra tijd is):
  • Klikken op items in een ListView
  • WinUI: Meerdere Pages in één Window

Slide 3 - Slide

This item has no instructions

Welke termen / concepten ken je nog van de vorige les?

Slide 4 - Mind map

This item has no instructions

Wat doet een ORM?
A
Genereert HTML
B
Verbindt objecten met database
C
Is hetzelfde als MySQL
D
Compileert C# code

Slide 5 - Quiz

This item has no instructions

Wat is waar over een
DbContext?
A
Schrijft automatisch C# code
B
Is een tussenpersoon tussen MySQL en MSSQL
C
Is een tussenpersoon tussen de code en database
D
Is een collectie van entiteiten

Slide 6 - Quiz

This item has no instructions

Wat is waar over een
de DbSet?
A
Is een collectie van entiteiten
B
Kan maar 1 rij bevatten
C
Schrijft automatisch C# code
D
Verwijst naar een tabel in de MySQL database

Slide 7 - Quiz

This item has no instructions

Herhalen: Belangrijkste concepten
  • DbContext
  • DbSet
  • 'Model' class

Slide 8 - Slide

This item has no instructions

Belangrijkste concepten
  • DbContext ⬅️
    Een 'tussenpersoon' tussen de code en de database. Deze maakt verbinding en stelt de database in.

  • DbSet
  • 'Model' class

Slide 9 - Slide

This item has no instructions

Belangrijkste concepten
  • DbContext 

  • DbSet ⬅️
    Een collectie van entiteiten, ookwel 'tabel' in MySQL.

  • 'Model' class

Slide 10 - Slide

This item has no instructions

Belangrijkste concepten
  • DbContext 
  • DbSet 

  • 'Model' class ⬅️
    De Model (ookwel 'Entity') is een representatie van een rij

Slide 11 - Slide

This item has no instructions

CRUD operaties in EF
Read alle items (voor een overzicht pagina)

Slide 12 - Slide

This item has no instructions

CRUD operaties in EF
Read een specifiek item (voor een detail-pagina)

Slide 13 - Slide

This item has no instructions

In de AppDbContext

Slide 14 - Slide

This item has no instructions

Lees het stappenplan eerst alleen door. Dit geeft je een algemene indruk van de stappen die je gaat doorlopen. Je gaat het pas uitvoeren bij opdracht 3.4
Vorige les:

Slide 15 - Slide

This item has no instructions

Oefen nu het stappenplan. Je wordt in de DevCitySim aan de hand meegenomen door het stappenplan. Bij iedere WinUI3 applicatie met CRUD operaties ga je deze stappen als eerst uitvoeren - Onthoud dus dat het hier te vinden is.
Vorige les: (Maak dit nu af, je krijgt 30 minuten, laat weten als meer tijd nodig is)

Slide 16 - Slide

This item has no instructions

Een ListView toevoegen aan de DevCitySim
Laten we samen naar deze theorie kijken en het toepassen op onze DevCitySim opdracht

Slide 17 - Slide

This item has no instructions

Theorie LINQ, Filteren en Sorteren

Slide 18 - Slide

LINQ maakt het mogelijk om query’s direct in C# code te schrijven. Het lijkt op SQL, maar werkt geïntegreerd in je code. Je kunt er data mee selecteren, filteren en sorteren.
LINQ
  • Language Integrated Query
  • Schrijven van query’s in C#
  • Werkt op lijsten, arrays en databases

Slide 19 - Slide

LINQ maakt het mogelijk om query’s direct in C# code te schrijven. Het lijkt op SQL, maar werkt geïntegreerd in je code. Je kunt er data mee selecteren, filteren en sorteren.
LINQ voorbeeld
Voorbeeld selectie:



Selectie met voorwaarden:
(context is hier een instantie van de DbContext in jouw applicatie)

Slide 20 - Slide

Je gebruikt ToList() om data uit de database op te halen. Met Where voeg je filters toe, net als een WHERE in SQL.
Filteren met LINQ
  • Filteren met Where
TODO: 
.ToList()
toevoegen achter
.Where

Slide 21 - Slide

This item has no instructions

Sorteren met LINQ

Slide 22 - Slide

This item has no instructions

Maak opdracht 3.7 in H3:
← of OverviewPage

Slide 23 - Slide

This item has no instructions

Theorie
Neem deze theorie in het moduleboek door:



Oefen ermee in deze opdracht:


Slide 24 - Slide

This item has no instructions

Praktische opdracht: 
Entity Framework Stappenplan (opnieuw) toepassen op complexere opdracht

Hierbij oefenen we ook:
  • Werken met één Frame in de MainWindow en meerdere Pages (OverviewPage + DetailPage)
  • De gebruiker laten klikken op een Item in de ListView (IsItemClickEnabled + ItemClick event)

Slide 25 - Slide

This item has no instructions

Praktische opdracht: Players en Games
  1. Pak het stappenplan er opnieuw bij en volg de eerste stappen
  2. Maak de Player en Game classes i.p.v. Citizen en Building
  3. Lees de theorie over één Frame en meerdere Pages
  4. Lees de theorie over het kunnen klikken in een item in de ListView
  5. Pas de theorie van het klikken + de Frame en Pages toe op deze applicatie
(+/- 40 min)
⁉️ Vragen? Check de theorie nogmaals. Kijk terug in DevCitySim. Vraag het je buur, of als jullie er samen niet aan uitkomen aan je docent.
🏇 Snel klaar? Implementeer ook Filteren + Sorteren (LINQ) in het overzicht

Slide 26 - Slide

This item has no instructions