OData-如何转换PageResult<;T>;到IHttpActionResult

本文关键字:lt gt IHttpActionResult PageResult 何转换 转换 OData- | 更新日期: 2023-09-27 18:26:54

我的控制器上有一个PageResult<T> GetXXX(...)方法,我在其中提取数据并将其作为PageResult<T>返回,现在当出现任何错误或没有内容时,我想将响应作为HttpStatusCode.InternalServerErrorHttpStatusCode.NoContent 返回

如果我将方法的返回类型保持为IHttpActionResult,那么我会得到一个错误:

'无法创建EDM模型作为控制器'YYY'上的操作'GetXXX'返回类型"System.Web.Http.IHttpActionResult"没有实现IEnumerable’

如果我不使用PageResult并简单地返回所有数据,那么我就不会出错。

我必须使用PageResult<T>,因为我正在管理自己的分页。

public IHttpActionResult GetXXX(...)
{
     PageResult<XXX> finalResult = new PageResult<XXX>(mydata, new Uri(...), Count);
     return Ok<IEnumerable<XXX>>(finalResult.Items);
}

OData-如何转换PageResult<;T>;到IHttpActionResult

你在看这个吗,

  PageResult<T> yourPageResult = new PageResult<T>(...);
  return Ok(yourPageResult)