我在尝试在AspNETCore Web应用程序上为OData配置批处理时遇到一些问题。我到处搜索(几乎)并且找不到正确的答案。我不确定当前仍为beta版的AspNetCore.Odata版本7.0.0是否支持批处理。

就我而言,由于MapODataServiceRoute方法(来自AspNetCore的方式)似乎没有像.NET通用Odata中那样收到任何ODataBatchHandler,因此现在似乎无法配置批处理。

app.UseMvc(routes =>
    {
        routes.Count().Filter().OrderBy().Expand().MaxTop(null);
        routes.MapODataServiceRoute("odata", "odata", builder.GetEdmModel()); //Doesn't receive any ODataBatchHandler
        routes.EnableDependencyInjection();
});

如果有人遇到Odata core的批处理问题,那么一些建议会很有帮助。谢谢!

最佳答案

尝试使用以下代码替换现有的ConfigureServicesConfigure方法:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    services.AddOData();
}

public void Configure(IApplicationBuilder app)
{
    var builder = new ODataConventionModelBuilder(app.ApplicationServices);

    builder.EntitySet<Product>("Products");

app.UseMvc(routeBuilder =>
    {
        routeBuilder.Select().Expand().Filter().OrderBy().MaxTop(100).Count();

        routeBuilder.MapODataServiceRoute("ODataRoute", "odata", builder.GetEdmModel());

         routeBuilder.EnableDependencyInjection();
    });
}

关于asp.net-core - AspNETCore Odata批处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48929469/

10-13 07:13
查看更多