当前位置: 代码迷 >> C# >> 生手求一句linq语句
  详细解决方案

生手求一句linq语句

热度:52   发布时间:2016-05-05 04:12:02.0
新手求一句linq语句
最近才学linq语句,遇到问题百度了好多也没好的解决。只好来问大神些了。

有二个表  分别为A   B 

A表为用户基本信息表
B表为用户成绩表

需要用一个linq语句查出A表的所有信息,和用户在B表的成绩总合。
------解决思路----------------------
var q = from u in db.Users
        join s in db.Scores
        on u.Id equals s.UserId into lg
        from s in lg.DefaultIfEmpty()
        select new {Id=u.Id, Name=u.Name,Score=s==null?0:s.Score};

------解决思路----------------------
from u in db.Users
join s in db.Scores.GroupBy(x => x.UserID).Select(x => new { ID= x.Key, TotalScore = x.Sum(y => y.Score) })
on u.UserID  equals s.UserID into lg
from s in lg.DefaultIfEmpty()
select new {Id=u.UserID , Name=u.Name,Score=s==null?0:s.TotalScore };
  相关解决方案