需求:从数据表students中取得所有学生姓名,然后将其scores表对应中的分数相加,显示一个“姓名:分数”的列表
- 取得所有姓名(包括没有成绩的)
- 分数是该学生所有成绩的总和
先看效果图:
数据库结构简化模拟如下:
插入测试数据:
查询,注意:
- LINQ中没有left join和right join之分,只有关键词join来控制连接,join之前表的作为完整的表连接,join之后的表需要使用DefaultIfEmpty来进行处理,才能正常的显示null值
- group中的key是分组的字段,分组后就可以使用聚合函数了
- LINQ就像生产流水线,可以分阶段进行数据排序、汇总、投影等操作,最后组装起来就能达到预定的效果
看看效果: