Как я могу сделать это в одном операторе linq: Если есть список объектов, где я имею (id, name, parentId).
Теперь у меня есть 3 уровня иерархии в этом списке.
Я хочу, чтобы, когда я получал идентификатор верхнего уровня в своей функции, мне нужны идентификаторы 3-го уровня.
На данный момент у меня есть это:
Public List<int> GetIds(int objectId){
var idList = new List<int>();
//get the seconds level ids
var parentsIds = from n in myListObject
where n.parentId.equals(objectId)
select n.id;
//get the third level ids
foreach(var parentId in parentsIds){
var childIds = from c in myListObject
where c.parentId.equals(parentId)
select c.id;
foreach(var childId in childIds){
idList.Add(childId);
}
}
return idList;
}
Так что мне интересно, смогу ли я сделать это в одном операторе linq?