Junior — Middle
Quelle est la différence entre les méthodes include et theninclude lors de la gestion des relations dans ORM?
sobes.tech IA
Réponse de l'IA
La méthode Include dans ORM (par exemple, Entity Framework) est utilisée pour charger de manière eager les entités liées de premier niveau. Elle permet de charger les données liées d'une propriété de navigation avec l'entité principale.
ThenInclude est utilisé pour charger des entités liées de second niveau et plus, c'est-à-dire pour des propriétés de navigation imbriquées après Include.
Exemple:
var orders = context.Orders
.Include(o => o.Customer) // chargement du Customer lié
.Include(o => o.OrderItems) // chargement de la collection OrderItems
.ThenInclude(oi => oi.Product) // pour chaque OrderItem, charger le Product
.ToList();
Ici, Include charge OrderItems, et ThenInclude charge les Product liés.
Ainsi, Include commence la chaîne de chargement des données liées, et ThenInclude l'étend pour les relations imbriquées.