using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication6
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<ClassDemo> list = InitClass();
var query = list.Where(u => u.Students.Any(s => s.StudentName.Equals("学生5")));//获取存在学生5的班级信息(包含学生信息)
List<ClassDemo> result = query.ToList();
}
private List<ClassDemo> InitClass()
{
List<ClassDemo> list = new List<ClassDemo>();
ClassDemo class1 = new ClassDemo();
class1.ClassID = 1;
class1.ClassName = "班级1";
List<StudentDemo> Students1 = new List<StudentDemo>();
for (int i = 1; i <= 2; i++)
{
StudentDemo item = new StudentDemo();
item.StudentID = i;
item.StudentName = "学生" + i;
Students1.Add(item);
}
class1.Students = Students1;
ClassDemo class2 = new ClassDemo();
class2.ClassID = 2;
class2.ClassName = "班级2";
List<StudentDemo> Students2 = new List<StudentDemo>();
for (int i = 2; i <= 5; i++)
{
StudentDemo item = new StudentDemo();
item.StudentID = i;
item.StudentName = "学生" + i;
Students2.Add(item);
}
class2.Students = Students2;
ClassDemo class3 = new ClassDemo();
class3.ClassID = 3;
class3.ClassName = "班级3";
List<StudentDemo> Students3 = new List<StudentDemo>();
for (int i = 5; i <= 7; i++)
{
StudentDemo item = new StudentDemo();
item.StudentID = i;
item.StudentName = "学生" + i;
Students3.Add(item);
}
class3.Students = Students3;
list.Add(class1);
list.Add(class2);
list.Add(class3);
return list;
}
}
public class ClassDemo
{
public int ClassID { get; set; }
public string ClassName { get; set; }
public List<StudentDemo> Students { get; set; }
}
public class StudentDemo
{
public int StudentID { get; set; }
public string StudentName { get; set; }
}
}
linq 根据子集合的字段获取父集合(包含父集合下的子集合)
最新推荐文章于 2022-06-28 17:51:00 发布