c# - 如何获取 IQueryable<T> 结果中的上一条记录和下一条记录?

标签 c# entity-framework

我对 IQueryable 集合进行了一些排序并获取了一个项目。我也有一些 <a>我想点击我页面上的链接以转到集合中的上一个和下一个项目。

由于 ID 是不是连续的,我不能只做简单的算术运算来得到它们。

如何在给定记录位置的情况下从 IQueryable 获取上一个和下一个项目?

最佳答案

使用Take()Skip() 来实现您的分页系统。您不需要 ID 是连续的,您只需按照查询返回的顺序返回对象。

var itemsPerPage = 10;
var pageNumber = 2; // Say it starts from 1

var values = query.Skip((pageNumber - 1) * itemsPerPage).Take(itemsPerPage);

关于c# - 如何获取 IQueryable<T> 结果中的上一条记录和下一条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15706566/

相关文章:

entity-framework - 每次我构建我的应用程序并插入新记录时,Id 都会上升 1000

entity-framework - 迭代 DbSet<TEntity> 与 IQueryable<out T>

c# - 从 IIS .Net 应用程序访问网络共享

c# - 在 T-SQL 中返回重复行

c# - DateTime 有 RangeAttribute 吗?

c# - Windows 窗体 ListView 控件中的可扩展组

c# - 可以找到 Entity Framework 迁移 "No connection string named ' DefaultConnection ......”

c# - asp.net MVC 4,标记地点 - 最佳实践(例如酒吧、商店、餐厅)

c# - .NET 中有 XML 表单生成器吗?

entity-framework - 在所选文件中找不到从 DbContext 派生的可构造类型 (EF Power Tools Beta 2 + VS 2012))