SelectMany будет перемещаться по дереву объектов:
class Agency { List<Employees> Staff }
IEnumerable<Agency> Agencies
IEnumerable<Employee> =
from anAgency in Agencies
from anEmployee in anAgency.Staff.
select anEmployee;
Обычно я всегда выбираю Агентство сначала и использую внутренний экземпляр Персонала для получения сотрудников. Но в случае закрытия правительства я просто хочу перечислить ВСЕ, чтобы узнать, кто может покрыть.
В этом редком случае, который не подходит для моей объектной модели, я могу использовать SelectMany для произвольного пересечения дерева.
Как вы называете это обход? перекрестное соединение? Дело не в том, что соединение уже подразумевается в составе персонала в объекте Агентства.
Связано ли это? Я ничего не знаю о bind.
Нет ли другого имени, кроме Select, Many?!