Как я могу получить функциональность, аналогичную doc.Descendants (), используя linq для коллекции объектов, которая содержит вложенные коллекции с одинаковыми объектами глубиной X уровней?
Последняя вложенная коллекция содержит данные, которые необходимо получить, все остальные родительские коллекции являются просто группировками. Я мог бы преобразовать коллекцию в XDocument и вызвать функцию потомков, но я бы предпочел подражать этой функциональности этой коллекции объектов.
public class ProductLine
{
public string Id {get;set;}
public string ParentId {get;set;}
public string Name {get;set;}
public string Type {get;set;}
public string Level {get;set;}
public IEnumerable<ProductLine> Children {get;set;}
}
У меня может быть список ProductLine, который содержит дочерние списки ProductLine. Вложенные уровни могут варьироваться в зависимости от того, как были настроены данные, поэтому я никогда не знаю, сколько их уровней. Самый нижний список будет иметь Type = "Model", в то время как каждый предыдущий список будет иметь Type = "Series", что приведет к чему-то вроде:
Series1
Series2
Series3
Model1
Model1
Series2
Model3
Model4