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.