LINQ多表查询统计数量

各位前辈大家好,本人最近刚开始接触LINQ相关的知识,今天在练习的时候遇到一个多表的查询,想来想去不知道怎么下手,所以来这里问问各位前辈,希望能够得到解答.

这个是我需要实现的窗体:需要通过上方的条件组合查询出结果,并且结果来自不同的数据表.

https://img.mukewang.com/5b96353e0001cc7711540253.jpg

 

 

下面是ER图:

 

https://img4.mukewang.com/5b963549000136db13700780.jpg

 

以及我自己写的部分代码:

 

var dt = (from a in db.ClassInfo
join b in db.TeacherInfo on a.TeacherID equals b.ID
join c in db.MajorInfo on a.MajorID equals c.ID
join d in db.StudentInfo on a.ID equals d.ClassID
join f in db.DepartmentInfo on c.DepartmentID equals f.ID
join g in db.UserInfo on b.UserID equals g.ID
where f.DepartmentName.Contains(XBName) &&
c.MajorName.Contains(ZYName) &&
a.ClassNo.Contains(classNo) &&
a.ClassName.Contains(className) &&
g.UserName.Contains(classTeacher) 
select new { f.DepartmentName,c.MajorName,a.ClassNo,a.ClassName,g.UserName }).Where(i=>true).ToList();
gridInfos.DataSource = dt;

 

补充: studentInfo表中的status 字段 :1在校,2退学,3休学


陪伴而非守候
浏览 972回答 1
1回答

炎炎设计

分开查询的,分了几段
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server