Les 4: Entity Framework Introductie

Python intro
Programming basics-II
Les 3 / Week 7a
Entity Framework (Introductie)
CSD-II
Les 4
1 / 27
next
Slide 1: Slide
Applicatie- en mediaontwikkelaarMBOStudiejaar 3

This lesson contains 27 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 (Introductie)
CSD-II
Les 4

Slide 1 - Slide

This item has no instructions

Deze les
  • (30 min theorie) Wat is Entity Framework?
     - Een ORM
     - Waarom gebruiken we het?
     - Belangrijkste concepten
     - Code First workflow
  • (45+ min praktisch) Stappenplan Entity Framework

🎯Doelen van deze sessie:
  • Begrijpen wat EF is
  • Kennismaken met kernconcepten
  • CRUD met EF ervaren
  • Leren werken met Code First

Slide 2 - Slide

Benoem dat doel is om praktisch inzicht te krijgen, geen diepgaande architectuur.
Wat is een ORM?
  • Object Relational Mapper
  • Vertaling objecten ↔️ database
  • Minder SQL schrijven

Slide 3 - Slide

Leg uit dat ORM een laag is die objecten automatisch koppelt aan tabellen en rijen. Bespreek voordelen: productiviteit, onderhoudbaarheid.
Wat is Entity Framework en waarom gebruiken?
  • Onderdeel van .NET
  • Populairste ORM voor C#

Voordelen ORM:
  • Productiviteit
  • Onderhoudbaarheid
  • Interoperabiliteit (wissel de MySQL database makkelijk voor een andere soort database)

Slide 4 - Slide

This item has no instructions

Afkortingen Entity Framework
  • EF
  • EFCore

Slide 5 - Slide

This item has no instructions

Belangrijkste concepten
  • DbContext
  • DbSet
  • 'Model' class

Slide 6 - 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 7 - Slide

This item has no instructions

Belangrijkste concepten
  • DbContext 

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

  • 'Model' class

Slide 8 - Slide

This item has no instructions

Belangrijkste concepten
  • DbContext 
  • DbSet 

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

Slide 9 - Slide

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 10 - 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 11 - 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 12 - Quiz

This item has no instructions

Overzicht benaderingen
Een developer kan op meerdere manieren werken met EF:
  • Database First
  • Code First

Slide 13 - Slide

Vertel dat EF meerdere ingangen kent, maar dat vandaag de nadruk ligt op Code First. Benoem kort verschil.
Overzicht benaderingen
Een developer kan op meerdere manieren werken met EF:
  • Database First ⬅️
    Bouw de database tabellen, genereer Model-classes op basis daarvan

  • Code First

Slide 14 - Slide

Vertel dat EF meerdere ingangen kent, maar dat vandaag de nadruk ligt op Code First. Benoem kort verschil.
Overzicht benaderingen
Een developer kan op meerdere manieren werken met EF:
  • Database First 

  • Code First ⬅️
    Bouw de Model-classes en genereer op basis daarvan de database tabellen.

Slide 15 - Slide

Vertel dat EF meerdere ingangen kent, maar dat vandaag de nadruk ligt op Code First. Benoem kort verschil.
Overzicht benaderingen
Zowel bij Database- als Code First:

Altijd eerst een technisch ontwerp maken van onze applicatie en de database ontwerpen

Slide 16 - Slide

This item has no instructions

CRUD operaties in EF
Waar staat CRUD ook alweer voor?

Slide 17 - Slide

This item has no instructions

CRUD operaties in EF
Create

Slide 18 - Slide

This item has no instructions

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

Slide 19 - Slide

This item has no instructions

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

Slide 20 - Slide

This item has no instructions

CRUD operaties in EF
Read een specifiek item (voor een detail-pagina)
Omdat we deze methode op de DbSet<Genre> aanroepen, is g hier van het Type Genre.

Slide 21 - Slide

This item has no instructions

CRUD operaties in EF
Update

Slide 22 - Slide

This item has no instructions

CRUD operaties in EF
Delete

Slide 23 - Slide

This item has no instructions

Hierna praktisch aan de slag
Maar eerst:
❓Vragen / Opmerkingen

Slide 24 - Slide

This item has no instructions

Stappenplan Entity Framework



Na het oefenen van het stappenplan:
  • Weet je welke stappen je moet ondernemen om Entity Framework i.c.m. MySQL te gebruiken in een WinUI3 project
  • Weet je hoe je de database kan 'seeden' met testdata.
  • Weet je hoe de gegevens in een ListView kunt tonen.

Slide 25 - 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 1.3

Slide 26 - 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.

Slide 27 - Slide

This item has no instructions