我在尝试在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的批处理问题,那么一些建议会很有帮助。谢谢!
最佳答案
尝试使用以下代码替换现有的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", "odata", builder.GetEdmModel());
routeBuilder.EnableDependencyInjection();
});
}
关于asp.net-core - AspNETCore Odata批处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48929469/