Back to questions
Junior — Middle
75
Чем отличаются методы include и theninclude при работе с связями в ORM?
Answer from AI
sobes.tech AI
Метод Include в ORM (например, Entity Framework) используется для жадной загрузки связанных сущностей первого уровня. То есть, он позволяет загрузить связанные данные одной навигационной свойства вместе с основной сущностью.
ThenInclude применяется для загрузки связанных сущностей второго и более уровней, то есть для вложенных навигационных свойств после Include.
Пример:
var orders = context.Orders
.Include(o => o.Customer) // загрузка связанного Customer
.Include(o => o.OrderItems) // загрузка коллекции OrderItems
.ThenInclude(oi => oi.Product) // для каждого OrderItem загрузить Product
.ToList();
Здесь Include загружает OrderItems, а ThenInclude — связанные с ними Product.
Таким образом, Include начинает цепочку загрузки связанных данных, а ThenInclude расширяет её для вложенных связей.