Entity Framework рекурсивно включает в себя сбор для каждого объекта из включенной коллекции У меня есть следующее, где я пытаюсь включить адреса людей в городах стран. Country country = _db.Countries .Include(p=>p.Cities.People.????) .Where(....) Не знаете, как это сделать? Ответ 1 Из документации: Чтобы включить коллекцию, коллекцию и ссылку на два уровня вниз: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection.Select(l2 => l2.Level3Reference))). Итак, в вашем случае попробуйте Country country = _db.Countries .Include(c=>c.Cities.Select( cc => cc.People.Select( p => p.Addresses))) .Where(....) Доступ к этому методу расширения требует директивы using System.Data.Entity; Ответ 2 Вы должны добавить приглашение .Include для каждого уровня в дереве иерархии объектов: var result = db.Countries .Include(m => m.Cities) .Include(m => m.Cities.Select(v => v.People)) .Where(....) Изменить: ответ D.Stanley лучше с точки зрения компактного кода и работает также, я предпочитаю этот синтаксис с точки зрения модульности.
Ответ 1 Из документации: Чтобы включить коллекцию, коллекцию и ссылку на два уровня вниз: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection.Select(l2 => l2.Level3Reference))). Итак, в вашем случае попробуйте Country country = _db.Countries .Include(c=>c.Cities.Select( cc => cc.People.Select( p => p.Addresses))) .Where(....) Доступ к этому методу расширения требует директивы using System.Data.Entity;
Ответ 2 Вы должны добавить приглашение .Include для каждого уровня в дереве иерархии объектов: var result = db.Countries .Include(m => m.Cities) .Include(m => m.Cities.Select(v => v.People)) .Where(....) Изменить: ответ D.Stanley лучше с точки зрения компактного кода и работает также, я предпочитаю этот синтаксис с точки зрения модульности.