Asp.net web api OData函数路由约定

Asp.net web api OData函数路由约定,asp.net-web-api,odata,odata-v4,Asp.net Web Api,Odata,Odata V4,我已经研究OData一段时间了,我面临着一个我找不到解决方案的特定需求,那就是在OData中用斜杠包围的参数调用一个函数,换句话说,我需要完成这个任务:/entity/key/functionName/param1/param2/param3/I已经尝试使用[RoutePrefix(/entity/{key}/functionName/{param1}/{param2}…] 没有任何成功。 行动是这样的: public IHttpActionResult functionName(int key

我已经研究OData一段时间了,我面临着一个我找不到解决方案的特定需求,那就是在OData中用斜杠包围的参数调用一个函数,换句话说,我需要完成这个任务:/entity/key/functionName/param1/param2/param3/I已经尝试使用
[RoutePrefix(/entity/{key}/functionName/{param1}/{param2}…]
没有任何成功。 行动是这样的:

public IHttpActionResult functionName(int key, int param1, int param2...)
我知道您可以通过使用
[RoutePrefix(“/entity({key}/functionName(param1={param1}…)
得到这个结果。但这不是我想要的


有人知道它是否可以实现吗?

OData实际上是一个如何与Web服务通信的规范。它定义了如何排序、选择和筛选,以及如何调用函数。您在这里建议的是调用函数,但不是以OData指定的方式,因此询问是否可以在OData doe中完成没有任何意义。我会尝试将其与OData分开实现,即仅使用常规Web.API或尝试使用现有OData格式,否则您将需要重写OData库的大部分内容

谢谢您的回答Tom,您知道我是否至少可以在这个问题中实现类似的功能:提前谢谢。这对我来说似乎是同样的问题——如果你想改变URL的构造方式,你就不再使用OData了