【问题标题】:AspNETCore Odata BatchingAspNETCore Odata 批处理
【发布时间】:2018-02-22 14:08:59
【问题描述】:

我在尝试为 AspNETCore Web 应用程序上的 OData 配置批处理时遇到了一些问题。我到处搜索(几乎),找不到正确的答案。我不确定当前仍处于测试阶段的 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 核心的批处理问题,一些建议会很有帮助。谢谢!

【问题讨论】:

  • 我也有这个问题。你解决了吗?
  • 还没有。就我的研究而言,当时并没有完全支持 ODATA,所以我当时选择实现简单的 REST 请求。 ODATA 本来不错,但我可以解决它。

标签: asp.net-core odata batching


【解决方案1】:

尝试用以下代码替换现有的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();
    });
}

【讨论】:

    猜你喜欢
    • 2014-04-22
    • 2014-10-18
    • 2014-02-17
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    相关资源
    最近更新 更多