Taha Karaca
Taha Karaca

Reputation: 129

I want to convert SQL query to LINQ query

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

Answers (2)

nevra
nevra

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

Rahul Singh
Rahul Singh

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

Related Questions