Monthly Archives: June 2011

Posted by Michael Alfaro on June 15, 2011

How to Group By multiple columns in LINQ for ASP.NET

0

Go from this SQL:

select rl.UserID,rm.RewardType,sum(rl.RewardPoints) from rewardslog rl
join rewardsmaster rm on rl.RewardID = rm.Id
where rl.UserID=’varsha’
group by rm.RewardType, rl.UserID

To this:

var q = from i in (from rl in context.rewardslog
join rm in rewardsmaster on rl.RewardID equals rm.Id
where rl.UserID == “varsha”
select new {rl.UserID, rm.RewardType, rl.RewardPoints})
group i by new {i.RewardType, i.UserID} into g
select new {g.Key.UserID, g.Key.RewardType, Points = g.Sum(rl => rl.RewardPoints)};

Original blog post here.

 


Topics: , , ,