代码之家  ›  专栏  ›  技术社区  ›  LiamGu

我怎么能用LINQ做到这一点?

  •  0
  • LiamGu  · 技术社区  · 16 年前

    我要做的就是:

    SELECT CallTypeID, Count(CallTypeID) as NumberOfCalls
    FROM [Helpdesk_HR].[dbo].[CallHeader]
    WHERE CallHeader.DateOpened <= GETDATE()-7
    GROUP BY CallTypeID
    

    在林肯。但我想不出一个办法来做这件事并让它发挥作用。我会用Linqer,但我的公司现在不付钱。

    任何帮助都非常感谢,因为我相信答案是显而易见的。今天就是这样的一天。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Mladen Prajdic    16 年前

    像这样:

    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() };
    

    我还没测试,所以语法可能不正确。

        2
  •  0
  •   Jon Skeet    16 年前

    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