1
基本上我想写一个linq查询来订购它们出现的天数。但是我有六个时间过滤器 - 今天,昨天,本月,上个月,本年,上一年。现在,我已经简化了这些查询,但是在下面的这些查询之前,我实际上是在这些员工的不同方面进行订购,并且订购之后,你可以看到我指定等级,然后在同一时间发现了他的计数(可能会或可能不会被用于以后进行排名) -我该如何编写这个动态linq查询?
var result=datacontext.Employee(c=>c.Company.Id==companyId).Select((k, index) => new EmployeeDTO()
{
EmployeeId=k.Employee.Id,
CompanyId=Employee.Company.Id
PresentCount=(from e in employeeAttendance
where d.RecNum == k.recnum
&& d.date_present.Year == DateTime.Today.Year
&& d.date_present.Month == DateTime.Today.Month
&& d.date_present.Day == DateTime.Today.Day
select d).Count()
}
所以,现在当过滤器是说上一年我有 -
var result=datacontext.Employee(c=>c.Company.Id==companyId).Select((k, index) => new EmployeeDTO()
{
Position=
EmployeeId=k.Employee.Id,
CompanyId=Employee.Company.Id
PresentCount=(from e in employeeAttendance
where d.RecNum == k.recnum
&& d.date_present.Year == (DateTime.Today.Year-1)
}
,如果有它当前月我有 -
var result=datacontext.Employee(c=>c.Company.Id==companyId).Select((k, index) => new EmployeeDTO()
{
EmployeeId=k.Employee.Id,
CompanyId=Employee.Company.Id
PresentCount=(from e in employeeAttendance
where d.RecNum == k.recnum
&& d.date_present.Month == DateTime.Today.Month
&& d.date_present.Year == DateTime.Today.Year
}
我基本上想把所有这些在一个查询中结合起来,基本上有一个动态的子句来找出当前的计数?