我一直在尝试在我编写的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'.
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
我甚至以正确的方式接近这个分页?