.net – Linqamp;Paging – 无法使用OrderBy返回分页数据
发布时间:2020-12-30 16:59:24 所属栏目:MsSql教程 来源:网络整理
导读:我一直在尝试在我编写的WCF服务上实现一个简单的分页系统,该服务使用 Linq To SQL来查询数据库,但似乎是从一个问题转到另一个问题. 我希望WCF服务返回此类型的列表: [DataContract]public class TestType{ [DataMember] public int ID { get; set; } [Dat
我一直在尝试在我编写的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.(编辑:开发网_开封站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |