日期:2014-05-20  浏览次数:20732 次

如何使用LINQ表达式编写复杂的查询语句
LINQ集成化查询,对于 简单的查询语句实现起来确实很好。但是对于复杂的语句实现起来就不太好用了。也许是本人功力不够深厚。希望指教!比如,这样的SQL语句Select Cno,count(Cno) from SC where Grade>=60 group by Cno
就是在成绩表中按课程查找对应课程及格的学生人数,Cno课程号。如何使用LINQ查询表达式书写语句。
还有像SQL中的distint、group by 、聚合运算、连接查询等。实现起来没思路。

------解决方案--------------------
from s in sc.where(o=>o.Grade>=60) group s by s.CNo into g
select new
{
Cno=g.key,
Count=g.count()
}
------解决方案--------------------
C# code
var query=db.SC.Where(c=>c.Grade>=60)
               .GroupBy(c=>c.Cno)
               .Select(g=>new{Cno=g.Key,Count=g.Count()});

------解决方案--------------------
C# code
var query=from s in db.SC
where s.Grade>=60
group s by s.CNo into g
select new
{
Cno=g.Key,
Count=g.Count()
}

------解决方案--------------------
必须用Lamdba表达式,要不用LINQ干嘛
------解决方案--------------------
多写就行了
------解决方案--------------------
探讨

请问大家有没有好的LINQ学习资料。

------解决方案--------------------
var q=Db.SC.where(gr=>gr.Grade>=60 ).GroupBy(c=>c.Cno) select {col=>new{col.key,col.Cno.count()}}


不知道写的对不对 本人新手 正在努力学习中