【问题标题】:Asp.net core 5 Odata error ( services.AddOData; not working)Asp.net core 5 Odata 错误(services.AddOData; 不工作)
【发布时间】:2021-10-05 07:49:03
【问题描述】:
services.AddOData();
services.AddRouting();
services.AddCors(...);

CS1920:“IServiceContainer”不包含“AddOData”的定义,并且最佳扩展方法重载“ODataMvcBuilderExtensions.AddOData(IMvcBuilder)”需要“IMvcBuilder”类型的接收器

我安装了所有需要的包,这里是我项目中的包列表

【问题讨论】:

  • 请将您的代码添加为文本,而不是图像。
  • 将代码和完整异常或错误文本发布为文本,而不是图像。图片无法编译或用 Google 搜索
  • 还有你使用的 actual 包和版本。 ASP.NET Core OData v8 包添加了很多的更改,但文档很少

标签: asp.net-core asp.net-web-api odata


【解决方案1】:

从 v8 开始,推荐的设置 OData 服务的方法已更改为由 AddControllers() 返回的 IMvcBuilder 上的扩展方法

sservices.AddControllers()
    .AddOData(opt => opt.Count().Filter().Expand().Select().OrderBy().SetMaxTop(5)/* other config */);

更多信息请参见the docs

【讨论】:

  • 称此为docs 是......一种委婉说法。我佩服你的克制。在过去几个月中使用 8 RC 时,即使在 RC 版本中,路由的持续中断更改是......此时的真正文档是 repo 示例。
  • 然后我发现虽然 $apply 有效,但 ASP.NET Core OData 不会将其转换为 EF GroupBy 查询 ....
  • 我总是参考测试以获得最正确的用法。文档可能落后,但测试通常是最新的。
  • 来找同样的东西。仍然有多个 MS 博客文章包含错误的示例代码。感谢您提供正确的信息
猜你喜欢
  • 2021-05-28
  • 1970-01-01
  • 2021-12-25
  • 1970-01-01
  • 1970-01-01
  • 2018-12-31
  • 1970-01-01
  • 2021-11-16
  • 1970-01-01
相关资源
最近更新 更多