score:2

Accepted answer
var no_ctivities = db.activities
               .join(
                   db.enrollments,
                   ac => ac.activityid,
                   en => en.activityid,
                   (enr, act) => new { en = enr, ac = act })
               .join(
                   db.participants.where(pr => pr.participantid == id),
                   en => en.ac.participantid,
                   prt => prt.participantid,
                   (enr, prt) => new { enr.ac.posttestscore1, enr.ac.posttestscore2, enr.ac.activityid, enr.ac.attendfirstday, enr.ac.attendsecondday })
               .select(c => new
               {
                   c.activityid,
                   c.posttestscore1,
                   c.posttestscore2,
                   c.attendfirstday,
                   c.attendsecondday
               }).count();

score:2

var query = from a1 in activities
            join e1 in enrollments on a1.activityid equals e1.activityid
            join p1 in participants on e1.participantid equals p1.participantid
            where e1.participantid= 2883
            group new { e1, a1 }
            by new { e1.posttestscore1, a1.activityid } into g
            select new
            {
                 activityid = g.key.activityid,
                 posttestscore1 = g.key.posttestscore1,
                 no_activities = g.count()
            };

Related Query

More Query from same tag