Sobes.tech
Middle

Care este diferența dintre metodele Include și ThenInclude în Entity Framework?

sobes.tech AI

Răspuns de la AI

Include încarcă entitățile asociate dintr-o proprietate de navigare. ThenInclude încarcă entitățile asociate din proprietatea de navigare a entității, deja inclusă cu Include sau alt ThenInclude.

Exemplu:

// Încărcarea comenzilor (Orders) și a clienților (Customers) asociați
context.Orders.Include(o => o.Customer);

// Încărcarea comenzilor (Orders), a clienților (Customers) asociați
// și a adreselor (Addresses) acestor clienți
context.Orders.Include(o => o.Customer).ThenInclude(c => c.Addresses);

Pe scurt, Include este folosit pentru primul nivel de imbricare, iar ThenInclude pentru nivelurile următoare, permițând încărcarea datelor asociate profund imbricate într-o singură interogare.