Reputation: 129
This is my sql query
SELECT a.CLASS_ID,a.ACTIVITY_TYPE_ID,COUNT(*)
FROM AIS.CLASS_ASSESSMENT_DATE_INFO a
WHERE a.CLASS_ID =22222
GROUP by a.CLASS_ID,a.ACTIVITY_TYPE_ID
I want to convert this query to linq query. Can you help me ?
Upvotes: 0
Views: 74
Reputation: 428
var q = from a in AIS.CLASS_ASSESSMENT_DATE_INFO
where a.CLASS_ID == 22222
group a by new{
a.CLASS_ID,
a.ACTIVITY_TYPE_ID} into g
select new{
CLASS_ID = g.Key.CLASS_ID,
ACTIVITY_TYPE_ID = g.Key.ACTIVITY_TYPE_ID,
Count = g.Count()
};
Upvotes: 0
Reputation: 21795
Try this:-
var result = db.CLASS_ASSESSMENT_DATE_INFO.Where(x => x.CLASS_ID == 22222)
.GroupBy(x => new { x.CLASS_ID, x.ACTIVITY_TYPE_ID })
.Select(x => new
{
CLASS_ID = x.Key.CLASS_ID,
ACTIVITY_TYPE_ID = x.Key.ACTIVITY_TYPE_ID,
Count = x.Count()
});
or in case if you prefer query syntax
:-
var result = from x in db.CLASS_ASSESSMENT_DATE_INFO
where x.CLASS_ID == 22222
group x by new { x.CLASS_ID, x.ACTIVITY_TYPE_ID } into g
select new
{
CLASS_ID = g.Key.CLASS_ID,
ACTIVITY_TYPE_ID = g.Key.ACTIVITY_TYPE_ID,
Count = g.Count()
};
Upvotes: 1