Как зарегистрировать методы расширения OData в .NetCore 3.1 вне использования Mvc middleware - PullRequest
1 голос
/ 14 января 2020

После переноса моего API с. net core 2.2 на 3.1 я столкнулся с некоторыми проблемами, чтобы решить, какой из подходов лучше всего использовать при регистрации методов расширения OData для моего API. В настоящее время у меня есть этот код

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 () .... используя следующий подход? Это правильный способ сделать это без регистрации? Use Mvc?

 public void Configure(IApplicationBuilder app, IHostEnvironment env)
 {
        ...
        app.UseRouting();
        app.UseAuthentication();
        app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
            ...
 }

1 Ответ

0 голосов
/ 17 января 2020

Проверьте эту статью: Экспериментируя с OData в ASP. NET Core 3.1 .

Очевидно. NET Core 3.0 и 3.1 пока не поддерживают OData. Однако вы можете использовать версию beta , действия которой описаны в статье.

Обновление:

Они поддерживают OData с версии 7.3.0. Однако их пока нельзя использовать с маршрутизацией конечной точки. Вы можете следить за этой веткой Github за обновлениями, в частности, за этим ответом

...