Sobes.tech
Middle

Jaka jest różnica między metodami Include a ThenInclude w Entity Framework?

sobes.tech AI

Odpowiedź od AI

Include ładuje powiązane encje z właściwości nawigacyjnej. ThenInclude ładuje powiązane encje z właściwości nawigacyjnej encji, która została już dołączona za pomocą Include lub innego ThenInclude.

Przykład:

// Ładowanie zamówień (Orders) i powiązanych z nimi klientów (Customers)
context.Orders.Include(o => o.Customer);

// Ładowanie zamówień (Orders), powiązanych klientów (Customers)
// i adresów (Addresses) tych klientów
context.Orders.Include(o => o.Customer).ThenInclude(c => c.Addresses);

Mówiąc prościej, Include jest używane dla pierwszego poziomu zagnieżdżenia, a ThenInclude dla kolejnych poziomów, umożliwiając ładowanie głęboko zagnieżdżonych powiązanych danych jednym zapytaniem.