Я не уверен, как правильно сформулировать вопрос, поэтому я не смог его найти. Пожалуйста, обратите внимание на следующие классы:Условия могут быть неправильными: LINQ Выберите, что вернет весь промежуточный объект на основе дочернего подтипа
public class Parent
{
public int ID { get; set; }
public List<Child> Children { get; set; }
}
public class Child
{
public int ID { get; set; }
public List<subChild> subChildren { get; set;}
}
public class subChild
{
public int ID { get; set; }
public string Type { get; set;}
}
Я хочу LINQ запрос возвращает список всех родителей, которые имеют по крайней мере один ляющих> subchild определенного типа, но не обязательно там, где они только имеют subchild из этот тип.
например:
Parent A
- Child Xa
- subchild 1a type="foo"
- subchild 2a type = "bar"
- Child Ya
- subchild 1a type="foo"
Parent B
- Child Xb
- subchild 1b type = "foo"
Parent C
- Child Xc
- subChild 1c type = "Bar"
Это где я получил (Ошибочный Моя версия компилируется, дело не в этом.)
Parents.Children.SelectMany(s => s.Subchildren).where(x => x.Type="Foo").Tolist();
Моя реальная реализация немного отличается, и, может быть, мой псевдо код будет работать так, как я хочу, но я хочу, чтобы родительские и B вернулись, если я искал subChild.type = «Foo».
Я пропустил шаг от моей реальной жизни, как это было бы Родитель -> Ребенок -> subchild -> subSubChild. Если бы я хотел вернуть всех подчимеров в их собственный список, независимо от родителей и детей? Редактировать: извините, редактировалось, и 5 минут приурочен. – MooseManCA
Знаешь что? Я должен сделать работу с ног здесь. Я могу понять это. Спасибо за помощь! – MooseManCA
Да, открытие самого себя, вероятно, лучше. Вы узнаете от этого намного больше. Я уже опубликовал ответ. – Glorfindel