Linq left join 和group by 多字段

var query =
(from q in db.ZHB_FeeTakes
group q by new { a_MemberId = q.MemberId, a_Mobile = q.Mobile} into g
select new { a_MemberId = g.Key.a_MemberId, a_FeeTakes_Mobile = g.Key.a_Mobile, a_Count = g.Count(), a_Amount = g.Sum(o => o.Amount), a_TakeTime = g.Max(o => o.TakeTime) }).ToList();
var query2=
from q in query
join u in db.Members on q.a_MemberId equals u.Id into g
from u in g.DefaultIfEmpty()
select new ZHB_FeeTakesCount { Mobile = u.Mobile, WxOpenId = u.WxOpenId,
a_MemberId = q.a_MemberId,
a_FeeTakes_Mobile = q.a_FeeTakes_Mobile,
a_Count = q.a_Count,
a_Amount=q.a_Amount,
a_TakeTime=q.a_TakeTime,
};

posted @ 2014-03-14 14:40  mimo0  阅读(1313)  评论(1)    收藏  举报