Как зарегистрировать OData с помощью ASP.NET 5

У меня есть приложение ASP.NET 5, и я бы хотел использовать OData v4 с ним.

Вот что я пробовал:

1.I импортировал следующие пакеты nuget:

"Microsoft.AspNet.WebApi": "5.2.3",
"Microsoft.AspNet.OData": "5.7.0",
"Microsoft.AspNet.Hosting": "1.0.0-rc1-final"

2.Called это в методе Startup.Configure

GlobalConfiguration.Configure(ConfigOData);

3. Наконец, это конфигурация OData​​p >

private static void ConfigOData(HttpConfiguration config)
{
    ODataConventionModelBuilder builder = new ODataConventionModelBuilder();

    var EDM = builder.GetEdmModel();

    //OData v4.0
    config.MapODataServiceRoute("odata", "odata", EDM,
        new DefaultODataPathHandler(),
        conventions,
        new DefaultODataBatchHandler(GlobalConfiguration.DefaultServer));
}

Теперь вызовы OData обрабатываются конфигурацией маршрутизации MVC (скорее всего, потому, что я не зарегистрировал OData с ASP.NET 5 должным образом).

Может ли кто-нибудь помочь мне с этим?

Ответ 1

Вот как мы можем настроить его с помощью ASP.NET Core RC2 OData.

namespace ODataSample
{
    using Microsoft.AspNetCore.OData.Extensions;
    using Microsoft.AspNetCore.Builder;
    using Microsoft.Extensions.DependencyInjection;
    using ODataSample.Models;

    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
            services.AddOData<ISampleService>();
        }

        public void Configure(IApplicationBuilder app)
        {
            app.UseOData("odata");
            app.UseMvc();
        }
    }
}

Вот как вы можете попробовать это самостоятельно. Вам понадобится установленный .NET Core SDK.

git clone [email protected]:bigfont/WebApi.git

cd WebApi\vNext\src\Microsoft.AspNetCore.OData
dotnet restore

cd ..\..\samples\ODataSample.BigFont\
dotnet restore
dotnet run

Это результат в http://localhost:5000/odata

Результат

Ссылки