我在一个表格中有 10,000 个项目,在客户端每页显示 20 个项目(项目可以额外过滤)
我需要在所有元素中找到项目。然后我需要获取页码,元素所在的位置并转到客户端上的该页面并选择它
我之前的问题是 Get item index (rownum)。
但我没有得到答案。
可能还有另一种方法可以在不获取所有表格数据的情况下找到项目所在的页码?
我正在使用 Linq to Nhibernate,数据库 - Oracle。
编辑:感谢回复,但这并不容易
例子:
在表分贝中,我有
ID NAME
1 Item1
2
3
4
5
20
31
..... ....
5000
在客户端,我过滤了数据
query = query.Where(...).Where(...).Where(...).OrderBy(...)
并得到了结果
ID ROW_NUM_IN_QUERY
4 1
300 2
2 3
31 4
..... ....
402 50
800 51
我无法链接到ID
查询中的字段或其他字段,因为它们的顺序可能不同
我可以通过简单的 SQL 获得 rownum。但是 Linq to NHibernate 做不到。它没有像IndexOf
或RowNumber
没有从表中完全获取数据的功能。
这个变种:
var indexed = myDataSource.Select( (x,n) => new { Value = x, RowNumber = n } );
Not suported exception during execute query