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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINQ to Entities中数据分页时,必须要OrderBy吗相关的知识,希望对你有一定的参考价值。

用 LINQ to Entities数据分页时必要要加OrderBy,默认查询出来的数据顺序就是聚集索引的顺序,OrderBy 聚集索引字段即可。用OrderBy(p=>""),也可以,但生成的sql语句效率不太高。

ORDER BY 语句用于对结果集进行排序。

ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果希望按照降序对记录进行排序,可以使用 DESC 关键字。
原始的表 (用在例子中的):
Orders 表:

Company OrderNumber

IBM 3532

W3School 2356

Apple 4698

W3School 6953。
参考技术A 加上一个ToList()

或者

db.Where(x => ...)
.Select((x, i) => new x, i ).OrderBy(x => x.i).Select(x => x.x).Skip(xxx).Take(xxx);
如果不是相同的排序规则,那么每次取的数据也有可能会重复
所以skip take 取数据前必要要按照相同的排序规则先排好序本回答被提问者和网友采纳

以上是关于LINQ to Entities中数据分页时,必须要OrderBy吗的主要内容,如果未能解决你的问题,请参考以下文章

使用 Linq to Entities 在一次操作中获取 COUNT 和 SKIP TAKE

单个 LINQ to Entities 查询中的两个结构上不兼容的初始化过程中出现类型“XXXX”

在 LINQ to Entities 中使用交叉应用取消透视数据

LINQ to Entities - 在分组数据中创建中值

在LINQ to Entities查询中调用自定义标量数据库函数?

Linq to Entities - 3 层架构