昨晚上在使用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为主键或者其它唯一值的字段,这不失是个好办法 !