用linq进行查询时,实现对应的集合函数的操作,出错了,想请教如何解决?

ruan1978 2018-09-29 01:58:01
c#程序中调用了linq语句进行数据库查询操作。有一张学生成绩表,用来记录每个学生的各科成绩。如StudCourse表,字段如下:
SNo(学号),CNo(课程号),Courses(成绩),Memo(备注)。记录内容:
SNo,CNo,Courses,Memo
01 A01 87
01 A02 90
02 A01 77
02 A02 60
01 A03 66
02 A03 72
01 A04 88
01 A05 73
如果不是用linq语句,要实现查询,查询某个学号的学生的各科的总分如下:
select SNo,Sum(Courses) from StudCourse where SNo='01' 查询01号同学的各科总分
如果改用linq语句,是不是这样实现:
var results =
(
from ds in db.StudCourse
where ds.SNo == "01"
select new StudCourseModel { SNo = ds.SNo, Courses = Convert.ToDecimal(db.StudCourseModel.Sum(a => a.Courses)) }
).Distinct().ToList();
return results;
Courses = Convert.ToDecimal(db.StudCourseModel.Sum(a => a.Courses)) 这句出错?请帮我看看。
相当于把
select SNo,Sum(Courses) from StudCourse where SNo='01' 改成linq语句
...全文
113 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruan1978 2018-09-29
  • 打赏
  • 举报
回复
引用 1 楼 hanjun0612 的回复:
var q = (from ds in db.StudCourse where ds.SNo == "01" select ds).Sum(x => x.Courses); Console.WriteLine(q);
后来自己解决了,谢谢大师跟帖!
正怒月神 版主 2018-09-29
  • 打赏
  • 举报
回复
var q = (from ds in db.StudCourse where ds.SNo == "01" select ds).Sum(x => x.Courses); Console.WriteLine(q);

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧