使用LINQ to SQL进行分页

时间:2017-01-23 06:44:57

标签: c# entity-framework linq linq-to-sql pagination

我们在LINQ to SQL中有orderby子句,如下所示,但是我们是否有任何分页功能?

SchemaVersionParser

或者我们必须像下面的查询那样手动(排序)?

from trans in DB.transactions 
orderby trans.column descending 
select trans;

1 个答案:

答案 0 :(得分:0)

据我所知,您必须使用.Skip.Take,但您可以为IQueryable编写扩展名,以方便您的工作:

public static class Extensions
{
    public static IQueryable<T> Paging<T>(this IQueryable<T> source, int pageNumber, int pageLength)
    {
        return source.Skip(pageNumber * pageLength).Take(pageLength);
    }
}

var source = (from trans in DB.transactions 
orderby "cancellation_reason_id" descending 
select trans);

source = source.Paging(0, 10); // Get first page with 10 item