【发布时间】:2014-06-09 08:07:18
【问题描述】:
我有一个返回 OData 的 WebAPI 方法:
[HttpGet]
public PageResult<Students> GetStudents(ODataQueryOptions<Students> queryOptions, string ClassId)
{
var allStudents = (from s in new OStudentContext(Convert.ToInt64(ClassId)).Student select s).ToList();
var results = queryOptions.ApplyTo(allStudents.AsQueryable());
return new PageResult<Students>(results as IEnumerable<Students>, Request.GetNextPageLink(), Request.GetInlineCount());
}
请求网址是这样的:
http://localhost:3333/api/odata/GetStudents?StudentId=40932&$inlinecount=allpages&$filter=((IsDeleted%20eq%20null)or(IsDeleted%20eq%20false))&$select=StudentId,FirstName,LastName,EmailID
结果中的值在那里,我可以看到返回的记录。准确地说,计数实际上是 7。
问题是return语句抛出了这个异常:
值不能为空。参数名称:数据
Request.GetNextPageLink() 为空,因为没有下一页链接。
Request.GetInlineCount() 为 7。
那么什么是 null 以及错误对数据意味着什么?
提前致谢。
【问题讨论】: