>将 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
}):