config.MapODataServiceRoute error

本文关键字:error MapODataServiceRoute config | 更新日期: 2023-09-27 18:32:31

我目前正在遵循本指南 ->链接到 asp.net 网站

正如指南所说,我通过nuget控制台添加了所有必要的软件包,并将必要的使用添加到WebApIConfig文件中。但是当我添加端点注册方法 VS 时给了我一个错误。

我添加的方法:

public static void Register(HttpConfiguration config)
    {
        // New code:
        ODataModelBuilder builder = new ODataConventionModelBuilder();
        builder.EntitySet<Product>("Products");
        config.MapODataServiceRoute(
            routeName: "ODataRoute",
            routePrefix: null,
            model: builder.GetEdmModel());
    }

错误VS给了我:

Error   1   'System.Web.Http.HttpConfiguration' does not contain a definition for 'MapODataServiceRoute' and no extension method 'MapODataServiceRoute' accepting a first argument of type 'System.Web.Http.HttpConfiguration' could be found (are you missing a using directive or an assembly reference?) C:'Users'rvcamp'Desktop'odataTest'odataTest'App_Start'WebApiConfig.cs   29  20  odataTest

我检查了指南的评论,但没有提到此错误,我也无法解决该错误。我做错了什么?

config.MapODataServiceRoute error

我刚刚遇到了这个问题。非常令人沮丧。

我通过在代码页顶部的引用中添加它来解决它

using System.Web.OData.Extensions;

右键单击该方法也没有显示解析菜单项。

重新安装所有内容并没有为我解决任何问题。

MapODataServiceRoute 在 Routes Collection 中可用,因此下面的代码可以

config.Routes.MapODataServiceRoute(
"odata",
 null, 
GetEdmModel(), 
new DefaultODataBatchHandler(GlobalConfiguration.DefaultServer));

FOR OData V3

  1. 安装 Microsoft.AspNet。网络图片。奥达塔
  2. 添加using System.Web.Http.OData.Builder;using System.Web.Http.OData.Extensions;
  3. config.Routes.MapODataServiceRoute(...)一样使用

对于 OData V4

  1. 安装 Microsoft.AspNet.OData
  2. 添加using System.Web.OData.Builder;using System.Web.OData.Extensions;
  3. config.MapODataServiceRoute(...)一样使用

不要卡在WebApi word上,它们都是针对Web api的。

如果您已升级到 Microsoft.AspNet.OData 7.0.0则您正在寻找的命名空间是:

using Microsoft.AspNet.OData.Extensions;

MapODataServiceRoute是扩展方法。因此,要使用它,需要对其命名空间的引用。对我来说,它是通过引用来修复的:

using System.Web.Http.OData.Extensions;

我通过打开包管理器控制台,将默认项目设置为提供错误消息的项目来解决此问题,然后:

Install-Package Microsoft.AspNet.WebApi.OData