У меня есть метод WebAPI, который возвращает OData:
[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());
}
URL-адрес запроса выглядит так:
https://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() имеет значение null, так как нет ссылки на следующую страницу.
Request.GetInlineCount() равно 7.
Итак, что такое null и что означает ошибка в отношении данных?
Заранее спасибо.