如何使用linq在SQL Server中计算今天的记录

时间:2019-05-28 14:48:23

标签: c# linq

我想使用linq查询来计算具有今天日期的记录数。

我得到0,但应该是2。

样本数据

Id  ShopId  Fridgetemp  UpdatedDate
---------------------------------------------------
1   NULL    23.00       2019-05-27 17:11:48.0759186
2   1       11.00       2019-05-27 17:19:23.8062202
3   1       7.00        2019-05-27 18:29:59.4886314
4   1       7.00        2019-05-27 18:44:46.6347567
5   1       27.00       2019-05-28 19:12:39.0549385
6   1       7.00        2019-05-28 19:14:59.1307374
7   1       23.00       2019-05-28 19:42:11.0724320
8   1       28.00       2019-05-28 20:08:13.3121901

Linq查询

private int CheckSentStatus()
{
    return _context.FridgeTemperture
                   .Where(x => x.UpdatedDate >= DateTime.Now && 
                               x.Fridgetemp > 26).Count();
}

Ex op-2

UpdatedDate的数据类型为datetime2(7)

1 个答案:

答案 0 :(得分:4)

您的查询不正确,您应该使用

您使用的是{strong>今天的日期和当前时间的DateTime.Now,因此您需要使用今天的日期和DateTime.Today的{​​{1}}时间

00:00

更新

如果只需要今天的记录。

return _context.FridgeTemperture.Where(x => x.UpdatedDate >= DateTime.Today && x.Fridgetemp > 26).Count();