OData を使用して、Web API から小さなページ分割された結果セットを返そうとしています。大規模な既存の API を変更しているので、できれば NuGet、EdmModels などの広範な「Microsoft ASP.NET Web API OData」パッケージを使用せずに、この 1 つのコントローラーとメソッドに対してのみこれを実行できるようにしたいと考えています。
以下の方法で $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 を無視する理由はありますか?