使用Active Record进行查找分页

时间:2010-05-10 01:05:24

标签: subsonic3 subsonic-active-record

我似乎无法找到这个问题的答案,也不知道如何完成我想要做的事情。我确定它已在某处发布或解释,但我无法找到我需要的确切解决方案。

我在Subsonic 3.0.0.4中使用ActiveRecord。当我做

之类的事情
recordset = VehicleModel.Find(x => x.Model.StartsWith(SearchText));

我找回了一个有关VehicleModel对象的IList(或者更简单的记录集),这很好,直到我返回太多记录。我也无法订购返回的记录集(我的网格会做得很好,但我确定如果我有太多记录,它会太慢)。因为Find正在返回一个IList,所以我可以直接反对这个(我可能会忽略一些简单的事情,所以请不要杀了我)。

我的问题是,有人可以解释如何查找我上面的数据,对其进行排序并获取页面大小为n的数据页面吗?

我是不是错了?我是否接近正确的轨道?

1 个答案:

答案 0 :(得分:0)

int currentPage = x
int pageSize = n
recordset = VehicleModel.Find(x => x.Model.StartsWith(SearchText)).Skip(currentPage x PageSize).Take(PageSize);

假设currentPage从0开始。
如果你的currentPage从1开始,那么它的Skip((currentPage - 1) x PageSize)