Я думаю, что вы после SelectMany
. Это для случаев, когда в книге может быть несколько страниц с указанным pageId
:
var pages = books.SelectMany(book => book.Pages.Where(page => page.PageId == pageId));
Однако, если в книге может быть только одна страница с указанным pageId
, вы можете захотеть:
var pages = books.Select(book => book.Pages.Single(page => page.PageId == pageId));
Если в книге может быть или не быть страница с указанным pageId
, то вы, вероятно, захотите:
var pages = hooks.SelectMany(book => book.Pages).Where(x => x.PageId == pageId);