Лямбда-выражение Где на навигационное свойство - PullRequest
3 голосов
/ 20 декабря 2009

Добрый день,

У меня есть три сущности (которые касаются этого вопроса)

Компания (ID и т. Д.) CompanyAddress (AddressID, CompanyID, Rank) AddressDetails (AddressID, улица, город, штат, почтовый индекс)

Причина, по которой рейтинг и идентификатор компании отсутствуют в AddressDetails, заключается в том, что сведения об адресе передаются контактам через сущность ContactAddress.

В любом случае, мне нужно построить IQueryable с учетом IQueryable, который будет проверять, содержится ли строка в городе (и, в конечном счете, или в штате). Я хотел бы использовать лямбда-выражения, а не синтаксис from c in companies ... Я пытался

query = query.Select(c => c.Addresses.Where(a => a.AddressDetails.City.Contains(City)).Select(ca => ca.Company));

В этом примере c.Addresses - это свойство навигации для CompanyAddress.

Спасибо за любую помощь,

Пол

1 Ответ

4 голосов
/ 20 декабря 2009

Я думаю, что это будет работать:

query = query.Where(c => c.Addresses.Any(a => a.AddressDetails.City.Contains(City)));

Я предполагаю, что запрос IQueryable<Company>.

...