加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-core – AspNETCore Odata批处理

发布时间:2020-12-16 03:17:55 所属栏目:asp.Net 来源:网络整理
导读:我在尝试在AspNETCore Web应用程序上配置OData的批处理时遇到了一些问题.我到处搜索(差不多),找不到合适的答案.我不确定当前仍然是beta的AspNetCore.Odata版本7.0.0是否支持批处理. 就我而言,配置批处理现在似乎是不可能的,因为MapODataServiceRoute方法(来
我在尝试在AspNETCore Web应用程序上配置OData的批处理时遇到了一些问题.我到处搜索(差不多),找不到合适的答案.我不确定当前仍然是beta的AspNetCore.Odata版本7.0.0是否支持批处理.

就我而言,配置批处理现在似乎是不可能的,因为MapODataServiceRoute方法(来自AspNetCore assemply)似乎没有像.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核心的这个批处理问题,一些建议会非常有用.谢谢!

解决方法

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

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",builder.GetEdmModel());

         routeBuilder.EnableDependencyInjection();
    });
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读