Sobes.tech
Junior — Middle

Wat is het verschil tussen de methoden include en theninclude bij het werken met relaties in ORM?

sobes.tech AI

Antwoord van AI

De Include-methode in ORM (bijvoorbeeld Entity Framework) wordt gebruikt voor het eager laden van gerelateerde entiteiten van de eerste niveau. Het stelt je in staat om gerelateerde gegevens van een navigatie-eigenschap samen met de hoofdentiteit te laden.

ThenInclude wordt gebruikt om gerelateerde entiteiten van het tweede en hogere niveau te laden, dat wil zeggen voor geneste navigatie-eigenschappen na Include.

Voorbeeld:

var orders = context.Orders
    .Include(o => o.Customer)           // laden van de gerelateerde Customer
    .Include(o => o.OrderItems)         // laden van de collectie OrderItems
        .ThenInclude(oi => oi.Product) // voor elke OrderItem, laad Product
    .ToList();

Hier laadt Include OrderItems, en ThenInclude laadt de gerelateerde Product-objecten.

Op deze manier start Include de keten van het laden van gerelateerde gegevens, en ThenInclude breidt deze uit voor geneste relaties.