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

pinqing 2012-07-05 01:56:54
LINQ to Entities中数据分页时,出现如下提示:
LINQ to Entities 中已排序的输入支持方法“Skip”。必须在调用“Skip”方法之前调用方法“OrderBy”。
难道必须要OrderBy吗??
有时我是按照数据库中默认查询出来的数据顺序来分页的,不需要排序。
...全文
425 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2012-07-09
  • 打赏
  • 举报
回复
如果不是相同的排序规则,那么每次取的数据也有可能会重复
所以skip take 取数据前必要要按照相同的排序规则先排好序
wlf535944903 2012-07-09
  • 打赏
  • 举报
回复
先调用Skip take 然后在 ToList 这样不是在内存中分页的

可以看下SQL检控~
pinqing 2012-07-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

加上一个ToList()

或者

db.Where(x => ...)
.Select((x, i) => new { x, i }).OrderBy(x => x.i).Select(x => x.x).Skip(xxx).Take(xxx);
[/Quote]

....直接ToList那是在内存里面分页,我需要在数据库里分页;
第二种方法不还是要写“OrderBy”;
种草德鲁伊 2012-07-05
  • 打赏
  • 举报
回复
必须的,自己写分页语句的时候,不也要先排序吗。
threenewbee 2012-07-05
  • 打赏
  • 举报
回复
加上一个ToList()

或者

db.Where(x => ...)
.Select((x, i) => new { x, i }).OrderBy(x => x.i).Select(x => x.x).Skip(xxx).Take(xxx);

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧