首页 新闻 会员 周边 捐助

LINQ to Entities中数据分页时,必须要OrderBy吗??

0
悬赏园豆:10 [已解决问题] 解决于 2012-08-17 13:34

LINQ to Entities中数据分页时,出现如下提示:

LINQ to Entities 中已排序的输入支持方法“Skip”。必须在调用“Skip”方法之前调用方法“OrderBy”。 

难道必须要OrderBy吗??

有时我是按照数据库中默认查询出来的数据顺序来分页的,不需要排序。

Xiongpq的主页 Xiongpq | 菜鸟二级 | 园豆:293
提问于:2012-07-05 13:58
< >
分享
最佳答案
0

用 LINQ to Entities 必要要加,默认查询出来的数据顺序就是聚集索引的顺序,OrderBy 聚集索引字段即可。

收获园豆:10
dudu | 高人七级 |园豆:29839 | 2012-07-05 14:06

手动根据聚集索引排序要为每张表单独写,有点麻烦~ 不过效率最高。

我用OrderBy(p=>""),也可以,但生成的sql语句效率不太高。

Xiongpq | 园豆:293 (菜鸟二级) | 2012-07-05 15:02

@Xiongpq: 最好写上,不然以后假如改了聚集索引字段就麻烦了

dudu | 园豆:29839 (高人七级) | 2012-07-05 15:12
其他回答(3)
0

是的 ,必要要加OrderBy

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-07-06 10:20
0

没得选择, 必须加

Y2zz | 园豆:393 (菜鸟二级) | 2012-07-08 18:43
0
//谢谢楼主 我添加这个orderby就可以了
model.AlarmInfomationList = AlarmInfoBusiness.GetAlarmInfoOriginal().OrderBy(p=>p.ItemName).Skip((model.CurrentPageIndex - 1) * model.PageSize).Take(model.PageSize);
坐看昀起 | 园豆:206 (菜鸟二级) | 2012-12-20 15:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册