[英]Where does WebAPI 2.2 OData v4 [EnableQuery] apply?
从2015年1月起应用EnableQueryAttribute在哪里正确/不正确?
该文件链接如下:
说:
[EnableQuery]属性允许客户端使用$ filter,$ sort和$ page等查询选项修改查询。 有关更多信息,请参阅支持OData查询选项。
以下链接文件:
http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/supporting-odata-query-options
说:
EnableQuerySupport方法为任何返回IQueryable类型的控制器操作全局启用查询选项。
但是这篇关于WebApi 2.2上的OData 4的文档已经把它放在了返回IHttpActionResult的行为上:
[ODataRoutePrefix("Teams")]
public class TeamsEntitySetController : ODataController
{
private readonly LeageContext _leage = new LeageContext();
[EnableQuery]
[ODataRoute]
public IHttpActionResult GetFeed()
{
return Ok(_leage.Teams);
}
[ODataRoute("({id})")]
[EnableQuery]
public IHttpActionResult GetEntity(int id)
{
return Ok(SingleResult.Create<Team>(_leage.Teams.Where(t => t.Id == id)));
}
}
我想疯狂地尝试在OData v4 / WebApi 2.2上找到最新,准确和一致的文档。
今天哪个是正确的?
使用全局配置(HttpConfiguration对象的实例)并调用
config.Filters.Add(new EnableQueryAttribute()
{
PageSize = 2
// .. other settings
});
这很有效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.