所以我想以这种方法来绘制作为OData的功能...定制的OData v4的函数总是返回406
[HttpGet]
[EnableQuery]
public IHttpActionResult ForBuyerOrganisations([FromUri]int[] orgIds)
{
// this returns IQueryable<TRDetails>
// i tried throwing a ToList on there too to ensure it works and it does
var result = service.ForBuyerOrgs(orgIds);
return Ok(result);
}
我制订它像这样...
var forBuyers = Builder.EntityType<TRDetails>().Collection.Function("ForBuyerOrganisations");
forBuyers.ReturnsCollection<TRDetails>();
forBuyers.CollectionParameter<int>("orgIds");
。 ..我也试过这个...
var forBuyers = Builder.EntityType<TRDetails>().Collection.Function("ForBuyerOrganisations");
forBuyers.ReturnsCollectionFromEntitySet<TRDetails>();
forBuyers.CollectionParameter<int>("orgIds");
我可以用URL调用它:
〜/ TRDetails/ForBuyerOrganisations orgIds = 1
问题:?
该请求从该方法执行我的代码,并返回,则该客户端获得一个406
任何想法?
嗯在这种情况下,它的工作原理(谢谢@Sam许),我有间歇性的成功让这个工作,虽然有其他功能......有没有一种方法来映射这不需要在url中的命名空间,或者这是必须使用的约定? – War
是的,不合格的函数/动作调用就是你要找的东西,详情请看[这里](http://odata.github.io/WebApi/#06-01-custom-url-parsing) –