如何将我的工作SQL查询转换为Linq(C#)?

c#

我有一个可以在 SQL Server 上返回我想要的结果的工作 SQL 查询:

SELECT
  SUM(CriticalCount) As CriticalCount,
  SUM(HighCount) As HighCount,
  SUM(MediumCount) As MediumCount,
  SUM(LowCount) As LowCount,
  Timestamp
FROM [dbo].[TicketCounts]
GROUP BY Timestamp
ORDER BY Timestamp DESC

结果集是:

临界计数 高计数 中数 低计数 时间戳
32 15 18 3 2021-07-01 11:00:00
24 10 42 15 2021-06-30 10:00:00

回答

由于您没有选择时间戳,请在选择之前移动它

return await _dbContext.TicketCounts
      .GroupBy(o => o.Timestamp)
       .OrderByDescending(o => o.Timestamp)
      .Select(tc => new TicketCount
      {
        CriticalCount = tc.Sum(o => o.CriticalCount),
        HighCount = tc.Sum(o => o.HighCount),
        MediumCount = tc.Sum(o => o.MediumCount),
        LowCount = tc.Sum(o => LowCount)
      }).ToListAsync();

或者您可以尝试将 Timestamp 属性添加到 TicketCount 并将其添加到 Select。


以上是如何将我的工作SQL查询转换为Linq(C#)?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>