社区
C#
帖子详情
LINQ to Entities中数据分页时,必须要OrderBy吗??
pinqing
2012-07-05 01:56:54
LINQ to Entities中数据分页时,出现如下提示:
LINQ to Entities 中已排序的输入支持方法“Skip”。必须在调用“Skip”方法之前调用方法“OrderBy”。
难道必须要OrderBy吗??
有时我是按照数据库中默认查询出来的数据顺序来分页的,不需要排序。
...全文
482
5
打赏
收藏
LINQ to Entities中数据分页时,必须要OrderBy吗??
LINQ to Entities中数据分页时,出现如下提示: LINQ to Entities 中已排序的输入支持方法“Skip”。必须在调用“Skip”方法之前调用方法“OrderBy”。 难道必须要OrderBy吗?? 有时我是按照数据库中默认查询出来的数据顺序来分页的,不需要排序。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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);
【项目实战】--仅对
LINQ
to
Entities
中
已排序的输入支持方法“Skip”。
必须
在调用“Skip”方法之前调用方法“
Order
By”
【前言】: 对
LINQ
自己之前仅仅是做项目维护的过程
中
有所了解,具体的也不太懂,在目前的一个项目开发
中
应用到了
linq
,这次是自己真真实实的去写,尽管刚开始的
时
候很不熟悉,在写的过程
中
对它的了解慢慢多了,看来项目实战对人的成长还是很有帮助的。 【问题描述】: 在进行
分页
查询的
时
候遇到如下问题——“仅对
LINQ
to
Entities
中
已排序的输入支持方法“Skip”。
必须
在调用“Skip
EF 6 DB-First系列--Entity Framework
中
的查询--
Linq
-to-
Entities
查询
Entity Framework支持三种类型的查询:1)
LINQ
-to-
Entities
, 2) Entity SQL, and 3) Native SQL在这里,您将学习如何编写
linq
到实体的查询,并在Entity Framework 6.x
中
获得结果,同样也适用于 Entity Framework Core。DbSet类派生自IQuerayable。因此,我们可以使用
LINQ
对DbSet进行查询,这将会被转换为SQL查询。
C#
LINQ
查询技术详解
LINQ
(Language-Integrated Query)是.NET框架
中
一项革命性的技术,自C# 3.0版本引入以来,极大地改变了开发人员处理
数据
的方式。它允许开发者使用类似SQL的语法直接在C#代码
中
编写查询表达式,无需学习多种查询语言即可对各类
数据
源进行统一操作。
LINQ
的核心优势在于其强类型检查和编译
时
错误检测,这显著提高了代码的可靠性和可维护性。通过
LINQ
,开发者可以以声明式而非命令式的方式表达
数据
操作逻辑,使代码更加简洁、易读且易于理解。
LINQ
to
Entities
基于方法的查询语法
http://msdn.microsoft.com/zh-cn/library/bb399367 实体框架(Entity Framework)是ADO.NET
中
的一套支持开发面向
数据
的软件应用程序的技术。
LINQ
to
Entities
提供语言集成查询 (
LINQ
) 支持,它允许开发人员使用Visual Basic或Visual C#根据实体框架概念模型编写查询。针...
仅对
LINQ
to
Entities
中
已排序的输入支持方法“Skip”。
必须
在调用“Skip”方法之前调用方法“
Order
By”
问题描述: 我们在使用
Linq
To
Entities
进行
分页
查询的
时
候,如果不小心,可能会出现如标题所示的错误,导致查询
分页
数据
失败。那么原因何在呢? 原因: 原因在于用
Linq
To
Entities
默认查询出来的
数据
顺序是聚集索引的顺序,所以
必须
要加上排序操作。所以为
Order
By或
Order
ByDescending加上聚集索引字段名称即可。 如下代码所示: ...
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章