Вы можете сделать это:
from p in People
where p.Id == 190
from t in p.TitlesActedIn
select new { Name = t.Name }
Но учтите, что для этого вам не нужно указывать Id, это означает:
/ Люди (190) / TitlesActedIn? $ = Выбрать имя
Если вам нужно фильтровать на основе неключевых свойств, вам нужно сделать что-то вроде:
from p in People
where p.Name == "Morgan Freeman"
select new Person {
TitlesActedIn = p.TitlesActedIn
}
Это переводится как:
/ People? $ Filter = Имя eq 'Morgan Freeman' & $ expand = TitlesActedIn
Вы также можете просто запросить названия этих заголовков, но у LinqPad, похоже, нет способа сделать это из-за типа свойств, которые он генерирует. Это будет выглядеть так:
from p in People
where p.Name == "Morgan Freeman"
select new Person {
TitlesActedIn = p.TitlesActedIn.Select(t => new Title { Name = t.Name })
}
Что будет означать:
/ People? $ Filter = Имя eq 'Morgan Freeman' & $ expand = TitlesActedIn & $ select = TitlesActedIn / Name
Спасибо,
Витек Карас [MSFT]