Gra*_*ush 9 .net paging wcf linq-to-sql
我一直在尝试在我编写的WCF服务上实现一个简单的分页系统,该服务使用Linq To SQL来查询数据库,但似乎是从一个问题转到另一个问题.
我希望WCF服务返回此类型的列表:
[DataContract]
public class TestType
{
[DataMember]
public int ID { get; set; }
[DataMember]
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码:
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>();
Run Code Online (Sandbox Code Playgroud)
但是,当我运行代码时,我得到错误:
The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' must be called before the method 'Skip'.
Run Code Online (Sandbox Code Playgroud)
所以,如果我更改代码以添加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>();
Run Code Online (Sandbox Code Playgroud)
然后,我会收到错误消息:
Count must have a non-negative value.
Parameter name: count
Run Code Online (Sandbox Code Playgroud)
我甚至以正确的方式接近这个分页?
Jus*_*tin 28
您将页码初始化为0,因此-1是它正在抱怨的跳过参数.将页面初始化为1.
| 归档时间: |
|
| 查看次数: |
5764 次 |
| 最近记录: |