【发布时间】:2019-05-26 01:42:34
【问题描述】:
我想查询每个结果的时间间隔为 10 秒或更长的日期时间范围。有没有一种方法可以让我在单个查询中使用 Linq 或 Expression 进行查询,而无需遍历所有结果来执行间隔。
船位模型设计
- Id (int)
- MMSI (int)
- Latitude (decimal)
- Longitude (decimal)
- LocalRecvTime (datetime)
我仍然不知道该怎么做。
dbContext.ShipPositions.Where(c => c.MMSI == m.MMSI &&
c.LocalRecvTime >= m.FromDateTime && c.LocalRecvTime < m.ToDateTime)
我希望结果应该是这样的,其中第 2 行和第 1 行的差异应该是 10 秒或更多
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" rel="stylesheet"/>
<table class="table table-hover table-bordered table-striped table-condensed">
<thead>
<th>
MMSI
</th>
<th>
Date Time
</th>
</thead>
<tbody>
<tr>
<td>123</td>
<td>14:10:23</td>
</tr>
<tr>
<td>123</td>
<td>14:10:33</td>
</tr>
<tr>
<td>123</td>
<td>14:10:46</td>
</tr>
</tbody>
</table>
【问题讨论】:
-
是否有可能有两个相等的时间戳?
-
你能显示
ShipPositions的完整定义吗?它有主键吗? -
@NetMage 不。结果不能有相同的时间戳,是的,ShipPosition 确实有一个主键
标签: c# linq entity-framework-core-2.1