首页 > 解决方案 > OData 未绑定功能选择加入

问题描述

我有一个包含某些方法的控制器。该控制器安装在一个单独的组件中。这个想法是,如果其他 API 想要将此功能用作未绑定的函数,则可以选择加入。

问题是,如果我不使用 ODataConventionModelBuilder OData 实现此功能,则会返回以下错误:

System.AggregateException
  HResult=0x80131500
  Message=One or more errors occurred.
  Source=<Cannot evaluate the exception source>
  StackTrace:
<Cannot evaluate the exception stack trace>

Inner Exception 1:
InvalidOperationException: The path template 'TestFunction' on the action 'TestFunction' in controller 'OptInFunctions' is not a valid OData path template. Resource not found for the segment 'TestFunction'

如果我从函数中删除 ODataRouteAttribute,则 OData 在启动期间不会返回错误,但在我想调用该函数时会返回 404。

我的具有选择加入方法的控制器看起来像这样:

public class OptInFunctions : ODataController
{
    [HttpGet]
    [ODataRoute("TestFunction")]
    public ActionResult<bool> TestFunction()
    {
        return Ok(true);
    }
}

如何使 OData 未绑定函数选择加入?

标签: odata

解决方案


推荐阅读