У меня есть объекты, которые вложены в этом порядке:Получения списка дочернего объекта вложенных несколько уровней с помощью LINQ
RootDomain
Company
CompaniesHouseRecord
CompanyOfficer
Когда даются RootDomain я хочу, чтобы создать список всех CompanyOfficers, которые имеют адреса электронной почты, но я Я не знаю, как это сделать.
Вот моя нерабочая попытка:
RootDomain rd = db.RootDomains.Find(123);
List<CompanyOfficer> col = rd.Companies.Where(x => x.CompaniesHouseRecords.Any(chr => chr.CompanyOfficers.Any(co => co.Email != null)))
.Select(x => x.CompaniesHouseRecords.Select(chr => chr.CompanyOfficers)).ToList();
Я, очевидно, путь от марки здесь. Может ли кто-нибудь показать мне или указать мне правильный метод для этого?
Возможно, вы захотите взглянуть на * Include() *. См. [Здесь] (http://stackoverflow.com/a/5718935/1525840). Имейте в виду, что существует ** две разные версии. Старый, когда вы ссылаетесь на подполе по строке и на новую, где вы используете лямбда-выражение. –