Entity Framework Deel 1 Flashcards
Hoe spreek je een database aan volgens de klassieke API?
- Connectie openen
- Transactie starten
- Commando opbouwen en uitvoeren
i. SQL Statement
ii. Parameters - Resultaat v/h commando verwerken
i. Data omzetten naar objecten - Transactie “ committen
- Connectie sluiten
Welk Package gebruiken we hiervoor?
Microsoft.EntityFrameworkCore
Welke klasse is het aanspreekpunt vanuit je applicatie?
DbContext
Wat is de dataProvider ‘SQLite’?
EF Core data provide voor SQLite
Microsoft.EntityFrameworkCore.Sqlite
Geef het verschil tussen code first en database first
Conceptueel model (code) -> Relationeel Model en vice versa voor database first
Beschrijf EF Code First
- Definieer models
- Definieer een database context
- voorzie mappings (optioneel)
- voorzie initializer seeding (optioneel)
=> Een DB schema wordt afgeleid van de models om de databank aan te maken!
- maakt gebruik van de data annotaties van het Validation Framework
Wat zijn models?
Beschrijft datastrucuren die staan voor ‘entiteiten’ binnen (een specifieke laag van) de applicatie
Bij het EF zijn dit objecten die direct gerelateerd zijn aan de opslag van data voor de applicatie
Geef de restricities en conventies van models
Enkel classes, geen structs
Enkel public properties (met set accessor ) worden in acht genomen voor het afleiden van het DB schema
Properties , onderscheid
- scalar properties
bevatten effectieve waarden die bewaard moet worden (datatype: primitive en enum types)
- navigation properties
beschrijven relaties met andere models (datatype: andere model types)
Elk model moet een ‘ unique identifier ‘
hebben! (hier bestaan uitzonderingen op)
Wat is de DbContext?
Base class voor de entity container van de applicatie die dient als aanspreekpunt naar de databank
Wat is de Container klasse?
Een klasse die overerft van DbContext
Properties
- voor elk model een property van het type DbSet modelType