加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

.net – Linqamp;Paging – 无法行使OrderBy返回分页数据

发布时间:2020-12-30 22:57:07 所属栏目:编程 来源:网络整理
导读:我一向在实行在我编写的WCF处事上实现一个简朴的分页体系,该处事行使 Linq To SQL来查询数据库,但好像是从一个题目转到另一个题目. 我但愿WCF处事返回此范例的列表: [DataContract]public class TestType{ [DataMember] public int ID { get; set; } [DataMe

我一向在实行在我编写的WCF处事上实现一个简朴的分页体系,该处事行使 Linq To SQL来查询数据库,但好像是从一个题目转到另一个题目.

我但愿WCF处事返回此范例的列表:

[DataContract]
public class TestType
{
    [DataMember]
    public int ID { get; set; }
    [DataMember]
    public string Name { get; set; }
}

我正在行使以下代码:

int pageNumber = 0;
int pageSize = 25;

List<TestType> results = (from caseTypes in context.cch
                          select new TestType()
                          {
                              ID = caseTypes.cch_id,Name = caseTypes.cch_case_ref
                          }                               
                          ).Skip((pageNumber - 1) * pageSize).Take(pageSize).ToList<TestType>();

可是,当我运行代码时,我收到错误:

The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' must be called before the method 'Skip'.

以是,假如我变动代码以添加orderby:

List<TestType> results = (from caseTypes in context.cch
                          orderby caseTypes.cch_id
                          select new TestType()
                          {
                               ID = caseTypes.cch_id,Name = caseTypes.cch_case_ref
                          }                               
                          ).Skip((pageNumber - 1) * pageSize).Take(pageSize).ToList<TestType>();

然后,我会收到错误动静:

Count must have a non-negative value.
Parameter name: count

我乃至以正确的方法靠近这个分页?

办理要领

您将页码初始化为0,因此-1是它正在诉苦的跳过参数.将页面初始化为1.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读