我正在寻找一种在给定主键和排序顺序的情况下检索 NHibernate 查询中的“周围”行的方法?
例如,我有一个包含日志条目的表,我想显示带有主键 4242 的条目和前 5 个条目以及以下 5 个按日期排序的条目(日期和主键之间没有直接关系)。这样的查询应该总共返回 11 行(只要我们不靠近任何一端)。
日志条目表可能很大,不可能全部检索出来。
是否有可以在 NHibernate 中使用的行号这样的概念?底层数据库将是 SQlite 或 Microsoft SQL Server。
编辑添加示例
想象如下数据:
Id Time
4237 10:00
4238 10:00
1236 10:01
1237 10:01
1238 10:02
4239 10:03
4240 10:04
4241 10:04
4242 10:04 <-- requested "center" row
4243 10:04
4244 10:05
4245 10:06
4246 10:07
4247 10:08
当请求主键为 4242 的条目时,我们应该得到行 1237、1238 和 4239 到 4247。顺序是按时间,ID。
是否可以在单个查询中检索条目(显然可以包括子查询)?时间是一个非唯一的列,因此多个条目具有相同的值,在此示例中,不可能以使其唯一的方式更改分辨率!