小编Rob*_*son的帖子

如何查找最近的日期

我有三个精度的图表。

每小时、每 30 分钟、每 15 分钟。

包含我的数据的表如下所示:

数据表

当我生成图表时,我从特殊日期时间开始,例如从当前日期时间开始

例如。当我从 18:00 开始时,我的精度是每 15 分钟一次,我需要这个时间的数据

  • 18:00
  • 17:45
  • 17:30
  • 17:15
  • 17:00
  • ...

在我的数据表中,每 3 分钟有最大数据,因此当我想获取 17:15 的数据时,我的 lambda 查询返回 null,因为我只有 17:13 和 17:16 的数据。

所以我需要查询返回最接近我的数据时间的数据。在上例中,需要返回 17:16 开始的数据。

我尝试了 DiffHours 方法,但它在 MySQL 上不起作用。我需要在 MySQL 和 MSSQL 上工作的方法

我当前的方法如下所示:

var report = _reportRepository.FindBy(a => a.Fridge.FridgeIdentity == fridgeIdentity && a.CreatedDate.Year == fromTime.Year && a.CreatedDate.Month == fromTime.Month && a.CreatedDate.Day == fromTime.Day && a.CreatedDate.Hour == fromTime.Hour).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

但它仅适用于每小时精度。

感谢帮助!

c# mysql sql-server lambda entity-framework-6

4
推荐指数
1
解决办法
1880
查看次数

标签 统计

c# ×1

entity-framework-6 ×1

lambda ×1

mysql ×1

sql-server ×1