首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Linq对泛型集合进行分页?

问如何使用Linq对泛型集合进行分页?
EN

Stack Overflow用户
提问于 2008-08-21 21:03:40
回答 2查看 8.3K关注 0票数 15

我有一个(Of MyCustomClass)类型的System.Generic.Collections.List对象。

给定整数变量pagesize和pagenumber,我如何才能仅查询MyCustomClass对象的任何一页?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-08-21 23:02:29

如果您的linq-query包含您想要显示的所有行,则可以使用以下代码:

代码语言:javascript
复制
var pageNum = 3;
var pageSize = 20;
query = query.Skip((pageNum - 1) * pageSize).Take(pageSize);

您还可以在对象上创建一个扩展方法,以便能够编写

代码语言:javascript
复制
query.Page(2,50)

获取第2页的前50条记录。如果这是您想要的,信息在solid code blog.上

票数 30
EN

Stack Overflow用户

发布于 2009-01-14 11:57:00

嗨,有一个叫做PagedList的邪恶的东西,它是我在看Rob Conery的屏幕演员时得到的。

http://blog.wekeroad.com/2007/12/10/aspnet-mvc-pagedlistt/

它有所有的跳过和接受的东西内置。

你所要做的就是调用

代码语言:javascript
复制
var query = from item in DB.Table
where item.Field == 1
orderby item.Field2
select item;

PagedList<MyType> pagedList = query.ToPagedList(pageIndex, pageSize);

希望能有所帮助..。我现在正在使用它,它在linq to entities上运行良好。使用Linq to entities,您必须先执行Orderby,然后才能使用Skip和Take。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档