Sobes.tech
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.