Подтвердить что ты не робот

LINQ - вложенное предложение where

У меня проблема с проектом. Я пытаюсь получить список компаний, но фильтрую только те компании, которые находятся в "Стокгольме".

Структура таблицы

**Company**:
CompanyID
CompanyName
etc…

**CompanyAddressDetails** (relation table):
Company_CompanyID
CorrespondingAddress_AddressID

**CorrespondingAddress**:
AddressID
StreetName
City
etc…

Теперь я сначала делаю запрос:

var companyModel = from c in db.Company select c;

Которая получает полный список компаний и имеет их соответствующие адреса (которые могут быть несколько), поэтому результаты выглядят следующим образом:

enter image description here

Итак, мой вопрос: как я могу отфильтровать в зависимости от того, какой один из элементов, расположенных в Корреспондентском адресе? Город например?

До сих пор я пробовал

companyModel = companyModel.Where(s => s.CorrespondingAddress.Where(x => x.City.Equals("Stockholm")));
companyModel = companyModel.Where(s => s.CorrespondingAddress.ToList().First().Address.Equals("Stockholm"));

Но никто из них не работает. Спасибо!

4b9b3361

Ответ 1

companyModel = companyModel
               .Where(s => s.CorrespondingAddress
                     .Any(x => x.City.Equals("Stockholm")));

Ответ 2

Попробовать Any()

companyModel = companyModel.Where(s => s.CorrespondingAddress.Any(x => x.City.Equals("Stockholm"))); 

Ответ 3

companyModel = companyModel.Where(s => s.CorrespondingAddress.Exists(x => x.City.Equals("Stockholm")));