相关疑难解决方法(0)

OData v4函数始终返回404

试图从OData v3迁移到OData v4.为什么我在尝试使用OData函数时会继续获得404

Web API配置:

ODataModelBuilder builder = new ODataConventionModelBuilder();
//etc
builder.EntitySet<LocalizableString>("LocalizableStringApi");
//etc
var getComparitiveTableFunction = builder.EntityType<LocalizableString>().Collection.Function("GetComparitiveTable");
getComparitiveTableFunction.Parameter<string>("cultureCode");
getComparitiveTableFunction.ReturnsCollection<ComparitiveLocalizableString>();
//etc
config.MapODataServiceRoute("OData_Kore_CMS", "odata/kore/cms", builder.GetEdmModel());
Run Code Online (Sandbox Code Playgroud)

C#代码:

[EnableQuery(AllowedQueryOptions = AllowedQueryOptions.All)]
[HttpGet]
//[ODataRoute("Default.GetComparitiveTable(cultureCode={cultureCode})")] // Tried this, but gets errors and I noticed the function is in the OData model anyway without this, so should be fine.
public virtual IHttpActionResult GetComparitiveTable([FromODataUri] string cultureCode)
{
    // Implementation
    return Ok(query);
}
Run Code Online (Sandbox Code Playgroud)

从$ metadata返回的XML:

<Schema Namespace="Default">
    <Function Name="GetComparitiveTable" IsBound="true">
        <Parameter …
Run Code Online (Sandbox Code Playgroud)

c# odata asp.net-web-api asp.net-web-api2 odata-v4

6
推荐指数
2
解决办法
4215
查看次数

标签 统计

asp.net-web-api ×1

asp.net-web-api2 ×1

c# ×1

odata ×1

odata-v4 ×1