VS2008下使用Linq To Entity的Skip().Take()分页查询时遇到数据结果不对的问题

昨晚上在使用VS2008下的Entity Framework处理分页查询时发现问题。

症状:

1、在翻页到4页之后,4-最后一页数据都是相同,PageSize,Start,Limit等分页参数通过跟踪检查都无误。

2、若直接点击最后一页,再向前翻,本是每页显示16条数据的变成了每页只有两条纪录,而且每页的数据也相同。

 

跟踪分页查询代码:

 

 

跟踪发现,count 为211,start,limit值都无误,但查询结果始终不正确。在我当时是按CreateTime字段进行Order by的,后来发现数据库中CreateTime的值有200条都相同,基本上确实是由于CreateTime的值相同产生了这个查询问题,改为order by UserName字段后,问题解决。

 

更深的原因或者解决方案还没有来得及研究。先纪录在案了,哎~~

 

更新:

建议使用Order by CreateTime desc,Id desc的方式排序,ID为主键或者其它唯一值的字段,这不失是个好办法 !

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值