如何像在 linq 中的 SQL 查询中一样应用多个联接



>将 SQL 查询转换为 Linq C# 以获得与我在 ASP.NET MVC 应用程序中从此 SQL 查询获得的相同输出:

select  
    Name, 
    count(DISTINCT P.ID) as totalstrengt,
    count(DISTINCT pr.TraineeId) as pr,
    count(DISTINCT phy.TraineeId) as phy,
    count(DISTINCT psy.TraineeId) as psy
from 
    tblDiscipline d  
inner join 
    tblPersonal p on p.Game = d.Id
left join 
    tblPerformance pr on pr.TraineeId = p.Id 
left join 
    tblPhysiologyTest phy on phy.TraineeId = p.Id 
left join 
    tblPsychologicalTest psy  on psy.TraineeId = p.Id 
where 
    CentreName = 61
group by  
    Name
 var db = new QCDataClassesDataContext();
                if (StartDate == DateTime.MinValue)
                    StartDate = DateTime.Now.AddDays(-30);
                if (EndDate == DateTime.MinValue)
                    EndDate = DateTime.Now;  

  var objSelect = (from R in db.tblQCResults
                                                                                       join D in db.tblDeliverables on R.dbDeliverablesId equals D.dbId
                                                                                       join C in db.tblClients on D.dbClientId equals C.dbId
                                                                                       join E in db.tblEmployees on R.dbAssignedTo equals E.dbEmpId
                                                                                       where Convert.ToDateTime( R.dbQCDate).Date >= Convert.ToDateTime(StartDate).Date &&
                                                                                             Convert.ToDateTime(R.dbQCDate).Date <= Convert.ToDateTime(EndDate).Date
                                                                                             && R.dbQCBy == strEmpId
                                                                                       //&& R.dbStatus == false
                                                                                       orderby R.dbQCOn descending
                                                                                       select new
                                                                                       {
                                                                                           Client = C.dbClientName,
                                                                                           Deliverables = D.dbDeliverablesName,
                                                                                           EmployeeName = E.dbName,
                                                                                           TotalUploadedAccount = R.dbTotalUploadedAccount,
                                                                                           TotalQCAccount = R.dbTotalQCAccount,
                                                                                           Id = R.dbId,
                                                                                           QCOnDate = R.dbQCOn,
                                                                                           FileDate = R.dbFileDate,
                                                                                           Status = R.dbStatus,
                                                                                           EmpId = E.dbEmpId
                                                                                       }):

相关内容

最新更新