Hi everyone I need help write below query in LINQ
select zProcessStatus.StatusName, zProcessStatus.StatusNameDari, COUNT( ProcessProgress.SchoolID) as 'Count'
 from zProcessStatus
left join ProcessProgress on ProcessProgress.ProcessStatusID=zProcessStatus.ProcessStatusID
join SubProcessStatus on zProcessStatus.ProcessStatusID=SubProcessStatus.ProcessStatusID 
where  SubProcessStatus.SubProcessID='18250478-7DA5-45D6-90A7-51DFE94B09C8'
group by  zProcessStatus.StatusName
,zProcessStatus.StatusNameDari
I have written it as below, it's not give the expected result same as SQL query
 (from zProcessStatus in _applicationContext.ZProcessStatus
                             join processProgress in _applicationContext.ProcessProgress on zProcessStatus.ProcessStatusId equals processProgress.ProcessStatusId into processprogressGroup
                             from a in processprogressGroup.DefaultIfEmpty()
                             join subProcessStatus in _applicationContext.SubProcessStatus on zProcessStatus.ProcessStatusId equals subProcessStatus.ProcessStatusId
                             where subProcessStatus.SubProcessId == subprocessid
                             select new
                             {
                                 SchoolId = a.SchoolId.ToString(),
                                 StatusNameDari = zProcessStatus.StatusNameDari,
                                 StatusName = zProcessStatus.StatusName,
                             }).Distinct().ToList().GroupBy(x => new { x.StatusNameDari, x.StatusName, x.SchoolId }).Select(
                                g => new
                                {
                                    g.Key.StatusNameDari,
                                    g.Key.StatusName,
                                    Count = g.Count()
                                }).ToList();