菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
153
0

NHibernte 4.0.3版本中,使用Queryover().Where().OrderBy().Skip().Take()方法分页获取数据失败

原创
05/13 14:22
阅读数 55594

问题代码如下:

var result=repository.QueryOver<modal>()
              .Where(p=>p.Code==Code)
              .OrderBy(p=>p.ID).Asc
              .Skip(pageSize*(page-1))
              .Take(pageSize).List()

当设置page=1,pageSize=10时,获取数据正常;当设置的page大于1时,获取不到任何数据;原因尚未找到。

解决办法:修改代码如下

           var result= repository.QueryOver<modal>()
                    .Where(p => p.Code == Code)
                    .OrderBy(p=>p.ID).Asc
                    .RootCriteria.SetFirstResult((page - 1) * pageSize)
                    .SetMaxResults(page * pageSize).List()

 

发表评论

0/200
153 点赞
0 评论
收藏