.NET 5搭配Microsoft.AspNetCore.OData 8.0.2如何配置ODataPayloadValueConverter
配置方法说明
- 不能将该转换器添加到ModelBuilder的IEdmModel生成方法中,
ODataPayloadValueConverter属于OData路由的服务配置范畴,需要在注册OData路由组件时注入生效。 - 正确的注册位置是
AddOData配置块的AddRouteComponents方法中,该方法支持传入自定义服务集合来替换OData默认实现。
修改后的Startup配置示例
你只需要调整AddOData部分的代码即可,其余配置无需改动:
.AddOData(options => { options.AddRouteComponents("odata", new MyODataModelBuilder().GetEdmModel(), services => { // 注册自定义的负载值转换器,替换默认实现 services.AddSingleton<ODataPayloadValueConverter, DateTimeValueLocaliser>(); }); });
补充说明
上述配置是为odata前缀的路由单独注册转换器,如果你有多个OData路由前缀,需要为每个需要生效的路由单独注册该转换器。
内容的提问来源于stack exchange,提问作者Serge Zoghbi
相关产品推荐
相关产品推荐

