首页 新闻 会员 周边 捐助

LINQ多表查询统计数量

0
悬赏园豆:15 [已解决问题] 解决于 2018-08-06 10:10

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

 

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

 

 

下面是ER图:

 

 

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

 

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休学

劉亞坤的主页 劉亞坤 | 初学一级 | 园豆:15
提问于:2018-07-23 20:24
< >
分享
最佳答案
0

分开查询的,分了几段

劉亞坤 | 初学一级 |园豆:15 | 2018-07-26 16:35
其他回答(2)
0

写SQL吧,这么多连接看着都懵。

收获园豆:7
Jeffcky | 园豆:2789 (老鸟四级) | 2018-07-23 21:23

额,昨天又想了一下,可能是分成两段写的

支持(0) 反对(0) 劉亞坤 | 园豆:15 (初学一级) | 2018-07-24 08:31
0

如果这么多表链接 说明设计的都不合理。。。

收获园豆:8
筱浬 | 园豆:601 (小虾三级) | 2018-07-24 08:51

😂那也要硬着头皮写,不一定就是我说的这样写,因为我也是初学
[来自一个初学者]

支持(0) 反对(0) 劉亞坤 | 园豆:15 (初学一级) | 2018-07-24 09:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册