LINQ方式实现学生成绩汇总(右连接、聚合函数)

来源:互联网 发布:git服务器搭建 ubuntu 编辑:程序博客网 时间:2024/04/28 19:00

需求:从数据表students中取得所有学生姓名,然后将其scores表对应中的分数相加,显示一个“姓名:分数”的列表

  1. 取得所有姓名(包括没有成绩的)
  2. 分数是该学生所有成绩的总和

先看效果图:

 

 

数据库结构简化模拟如下:

 

插入测试数据:

 

查询,注意:

  1. LINQ中没有left join和right join之分,只有关键词join来控制连接,join之前表的作为完整的表连接,join之后的表需要使用DefaultIfEmpty来进行处理,才能正常的显示null值
  2. group中的key是分组的字段,分组后就可以使用聚合函数了
  3. LINQ就像生产流水线,可以分阶段进行数据排序、汇总、投影等操作,最后组装起来就能达到预定的效果

 

看看效果:

 

 

原创粉丝点击