如何在UseMvc中间件之外的.NetCore 3.1中注册OData扩展方法

如何在UseMvc中间件之外的.NetCore 3.1中注册OData扩展方法,odata,asp.net-core-webapi,.net-core-2.2,.net-core-3.1,Odata,Asp.net Core Webapi,.net Core 2.2,.net Core 3.1,在将我的API从.NETCore2.2迁移到3.1之后,我面临一些问题,需要决定我应该采用哪种方法为我的API注册OData扩展方法。目前,我有这个代码 public void ConfigureServices(IServiceCollection services) { .... #region OData services.AddOData(); #endregion

在将我的API从.NETCore2.2迁移到3.1之后,我面临一些问题,需要决定我应该采用哪种方法为我的API注册OData扩展方法。目前,我有这个代码

public void ConfigureServices(IServiceCollection services)
 {
          ....
             #region OData

            services.AddOData();

            #endregion  
          ....
 }
关于配置方法

public void Configure(IApplicationBuilder app, IHostEnvironment env)
 {
  ...
  app.UseAuthentication();
  app.UseMvc(routeBuilder =>
                        {
                            routeBuilder.Select().OrderBy().Filter().MaxTop(1000).Count();
                            routeBuilder.EnableDependencyInjection();
                        });
   ...
 }
如何注册Select()OrderBy()Filter()。。。。使用以下方法?不注册UseMvc,这是正确的方法吗

 public void Configure(IApplicationBuilder app, IHostEnvironment env)
 {
        ...
        app.UseRouting();
        app.UseAuthentication();
        app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
            ...
 }
请查看这篇文章:

显然.NETCore3.0和3.1还不支持OData。但是,您可以使用该版本,本文将介绍其步骤

更新:


从7.3.0版开始,它们确实支持OData。但是,它们还不能用于端点路由。您可以关注更新,尤其是这篇

他们支持OData,我在那里发布了一个问题