Middle
Is Include een eager, lazy of explicit loading?
sobes.tech AI
Antwoord van AI
Include in Entity Framework is een mechanisme van Eager Loading.
Eager Loading betekent dat gerelateerde entiteiten worden geladen uit de database samen met de opgevraagde entiteit in één of meerdere queries bij de eerste toegang tot de gegevens.
Het gebruik ervan voorkomt het probleem van "N+1 queries", dat kan optreden bij lazy loading, wanneer voor toegang tot elke gerelateerde entiteit een aparte query naar de database wordt uitgevoerd.
Syntax:
// Eager loading van bestellingen samen met klanten
var customersWithOrders = context.Customers.Include(c => c.Orders).ToList();
Vergelijking met andere laadtypes:
| Laadtype | Beschrijving | Wanneer gebruiken |
|---|---|---|
| Eager (Include) | Laden van gerelateerde gegevens samen met de hoofdgegevens in één of meerdere queries. | Wanneer gerelateerde gegevens bijna altijd nodig zijn. |
| Lazy | Laden van gerelateerde gegevens alleen bij de eerste toegang. | Wanneer gerelateerde gegevens niet altijd nodig zijn. |
| Expliciet | Handmatig laden van gerelateerde gegevens na het verkrijgen van de hoofdentiteit. | Wanneer gerelateerde gegevens nodig zijn op een specifiek moment na het laden van de hoofdentiteit. |