OData 方法路由 Returns 404 未找到

OData Method Routing Returns 404 not found

我已将 OData V4 添加到我的 Web Api 2 应用程序。 在 Web 中注册 OData 路由Api在默认路由之前配置注册方法:

//defining the routes for our OData service
        config.MapODataServiceRoute(
            routeName: "ODataRoute",
            routePrefix: "odata",
            model: GenerateEdmModel());

 private static IEdmModel GenerateEdmModel()
    {
        var builder = new ODataConventionModelBuilder();
        builder.EntitySet<Media>("Media");

        return builder.GetEdmModel();
    }

MediaController.cs

[EnableQuery]
    public IQueryable<ApiMedia> GetMedia(ODataQueryOptions<Media> query )
    {
       *querying and returning media*      
    }

但是当我打电话给 localhost:80880/odata/media 返回的响应说:

找不到资源。 要求URL:/odata/media

调用 localhost:80880/odata returns 这个:

{
  "@odata.context":"http://localhost:80880/odata/$metadata","value":[
    {
      "name":"Media","kind":"EntitySet","url":"Media"
    }
  ]
}

所以这里有什么问题吗? (它是否在寻找名为 odata 的控制器?) 我遵循了 http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-endpoint

上的教程

你不敢相信,但我应该输入 mysite.com/odata/Media 而不是 mysite.com/odata/media

您会很快找到这个功能。我正在寻找2天。大写 url 请求取决于实体集名称

builder.EntitySet<Media>("Media"); // if the changed to "media" will work !