Dit project is een oefenomgeving voor het leren van LINQ (Language Integrated Query) en Entity Framework Core in .NET 9. Het bevat een database met voorbeelden van LINQ-queries en uitwerkingen van studenten.
Het project gebruikt een SQL Server database met twee hoofdtabellen:
- Voorbeelden: Bevat 100 voorbeeldopdrachten met LINQ/Entity Framework concepten
- Id, Name, Description, Count, Role
- Uitwerkingen: Bevat 200 uitwerkingen van studenten
- Id, Owner, Tries, VoorbeeldId (relatie naar Voorbeeld)
- Zorg dat SQL Server actief is
- Pas indien nodig de connection string aan in
VoorbeeldDBContext.cs - Voer de migraties uit in package manager console:
update-database
Zie : https://learn.microsoft.com/en-us/ef/core/querying/
Maak de volgende queries in Program.cs om te oefenen met basis LINQ-functionaliteit. Test je queries door ze uit te voeren en de resultaten te tonen.
Haal alle voorbeelden op uit de database en toon de naam en beschrijving.
Haal alle voorbeelden op die de rol Administrator hebben.
Haal alle voorbeelden op en sorteer ze op naam (alfabetisch).
Tel hoeveel uitwerkingen er in totaal zijn in de database.
Haal alle uitwerkingen op waar het aantal pogingen (Tries) groter is dan 10.
Haal het eerste voorbeeld op met de naam "LINQ Select Query".
Bereken het gemiddelde aantal pogingen (Tries) van alle uitwerkingen.
Vind het hoogste en laagste aantal pogingen (Tries) bij uitwerkingen.
Bereken de totale som van het Count veld van alle voorbeelden.
Groepeer alle voorbeelden op Role en tel hoeveel voorbeelden er per rol zijn.
Haal alle voorbeelden op en include de bijbehorende uitwerkingen (navigation property).
Haal alle voorbeelden op met Role User en include de bijbehorende uitwerkingen.
Haal alle voorbeelden op maar selecteer alleen de Id en Name (anoniem type of nieuwe klasse).
Haal alle voorbeelden op waar Count groter is dan 50 EN Role is Moderator of Administrator.
Sorteer alle voorbeelden eerst op Role en dan op Name.
Controleer of er uitwerkingen zijn van de eigenaar "John Smith".
Controleer of alle uitwerkingen minimaal 1 poging (Tries) hebben.
Haal een lijst op met alle unieke eigenaren (Owner) uit de Uitwerkingen tabel.
Groepeer uitwerkingen op Owner en toon per eigenaar hoeveel uitwerkingen ze hebben gemaakt.
Haal alle voorbeelden op waarvan de Description het woord "query" bevat (case-insensitive).
Haal alle voorbeelden op met Role Administrator of SuperAdministrator, sorteer op Count (aflopend), en include de uitwerkingen waarvan Tries groter is dan 5.
- Gebruik
usingstatement voor je DbContext - Test queries met
.ToList()ofawait .ToListAsync()voor async queries - Console.WriteLine of breakpoints gebruiken om resultaten te inspecteren
- Gebruik LINQ method syntax of query syntax (beide zijn geldig)
- .NET 9
- Entity Framework Core
- SQL Server
- C# 13.0