ASP .NET WebApi 版本:5
OData版本:8.0.11
问题:
我想通过具有自定义名称(与实体名称不同)的控制器访问Odata模型。 基本上,我需要所有三个标识符(实体名称、odata 资源名称、控制器名称)都不同。 PS:我尝试使用 RouteAttribute 作为控制器,但无法得到我想要的,因为 OData 需要 '
示例:
class Person
{
....
}
modelBuilder.EntitySet<Person>(name: "CustomName1");
class CustomName2Controller : ODataController
{
....
}
/odata/Person
- 应该调用 CustomName2Controller
并返回 Person
模型
这可能吗? PS:我尝试使用 RouteAttribute 作为控制器,但无法得到我想要的。
此外,据我了解,OData 要求控制器前缀(“Controller”之前的部分)等于资源名称(“CustomName1”)。也许有办法修改这个默认路由行为?
OData v8 中不允许这样做。不过,您可以在 OData v7 中使用 ODataRoute。