我所做的就是:
SELECT CallTypeID, Count(CallTypeID) as NumberOfCalls
FROM [Helpdesk_HR].[dbo].[CallHeader]
WHERE CallHeader.DateOpened <= GETDATE()-7
GROUP BY CallTypeID
在LINQ中。但我无法找到一种方法来实现它并让它发挥作用。我会使用Linqer,但我公司目前不会支付费用。
我非常感谢任何帮助,因为我确信答案是显而易见的。这只是今天的其中一天。
答案 0 :(得分:2)
这样的事情:
var callGroups = from ch in CallHeader
where ch.YourDate <= DateTime.Now.AddDays(-7)
group ch by ch.CallTypeID into grp
select new { CallTypeID = grp.Key, Cnt = grp.Count() };
我没有测试过,所以语法可能会关闭。
答案 1 :(得分:0)
试试这个:
var query = from call in context.CallHeader
where call.DateOpened <= DateTime.Today.AddDays(-7)
group call by call.CallTypeId into grouped
select new { CallTypeId = grouped.Key, Count = grouped.Count() };
DateTime.Today
位可能略有偏差 - 这取决于您的日期如何存储在数据库中。您可能希望在查询之前计算出日期,然后只使用“where call.DateOpened <= limit
”或类似的东西。