2

我正在尝试使用 OData 从我的 Web API 返回一个较小的分页结果集。我正在修改一个大型的现有 API,因此我希望能够仅针对这一个控制器和方法执行此操作,最好不使用 NuGet、EdmModels 等提供的广泛的“Microsoft ASP.NET Web API OData”包。

在下面的方法中,我的 $top 和 $skip 工作正常,但我的 $selects 被忽略了。

我的方法:

    [Queryable(AllowedQueryOptions = System.Web.Http.OData.Query.AllowedQueryOptions.Select | System.Web.Http.OData.Query.AllowedQueryOptions.Top | System.Web.Http.OData.Query.AllowedQueryOptions.Skip )]
[HttpGet]
public HttpResponseMessage GetByType(OrganizationType type) {
    var results = _service.List(type);
    return(Request.CreateResponse<IQueryable<OrganizationModel>>(results.Any() ? HttpStatusCode.OK : HttpStatusCode.NotFound, results.AsQueryable<OrganizationModel>()));
  }
}

任何想法为什么它忽略 $select?

4

1 回答 1

5

Microsoft ASP.NET Web API OData 4.0.30506包没有$select$expand支持。要获得$select$expand支持,您必须升级到我们最新的软件包之一。5.0.0-beta2应该可以工作。或者,您也可以尝试我们的夜间版本以获取所有最新功能。

于 2013-07-15T23:39:00.057 回答