[英]Linq query on 3rd child level
我对对象列表有以下要求。 我的班级结构是这样的:
public class Standard
{
public long Id {get;set;}
public string Name {get;set;}
public List<Student> Students {get;set;}
}
public class Student
{
public long Id {get;set;}
public string Name {get;set;}
public List<Hobby> Hobbies {get;set;}
}
public class Hobby
{
public long Id {get;set;}
public string Name {get;set;}
}
我想在以下场景中根据爱好进行过滤:
目前,我有可用的列表,其中包含所有子类和详细信息。 我可以用 ForEach 循环来做到这一点,但想学习这个场景的 Linq 语法。
请为此建议 Linq 语法。
鉴于你有一个集合的Standard
称为standards
,
对有演奏音乐爱好的学生的所有标准清单
var result = standards.Where(s => s.Students.Any(u => u.Hobbies.Any(h => h.Name == "Playing Music")));
对有唱歌爱好的学生的所有标准清单
var result = standards.Where(s => s.Students.Any(u => u.Hobbies.Any(h => h.Name == "Playing Music")));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.