为了账号安全,请及时绑定邮箱和手机立即绑定

如何在小写驼峰情况下使用ODataQueryOpions?

如何在小写驼峰情况下使用ODataQueryOpions?

C#
慕少森 2021-04-29 08:13:23
我正在使用最新的Microsoft.AspNetCore.OData(7.0.0-beta2)。我正在尝试使用ODataQueryOptions <>从具有驼峰式案例属性名称的OData查询中获取OData参数。我使用builder.EnableLowerCamelCase(); Pascal案例属性名称调用控制器端点时,一切都工作正常。例如:URL:/myentities?$orderby=**Id** 控制器动作:public async Task<IEnumerable<MyEntity>> Get(ODataQueryOptions<MyEntity> options)但是,一旦我使用驼峰式案例名称(/myentities?$orderby=**id**),OData就会抛出一个验证异常:ODataException:在类型'MyNamespace.MyEntity'上找不到名为'id'的属性。Microsoft.OData.UriParser.EndPathBinder.GeneratePropertyAccessQueryForOpenType(EndPathToken endPathToken,SingleValueNode parentNode)Microsoft.OData.UriParser.EndPathBinder.BindEndPath(EndPathToken endPathToken)Microsoft.OData.UriParser.MetadataBinder.Bind(QueryToken)Microsoft.OData.UriParinder ProcessSingleOrderBy(BindingState状态,OrderByClause thenBy,OrderByToken orderByToken)Microsoft.OData.UriParser.OrderByBinder.BindOrderBy(BindingState状态,IEnumerable orderByTokens)Microsoft.OData.UriParser.ODataQueryOptionParser.ParseOrderByI数据配置(string) UriParser.ODataQueryOptionParser。我了解这builder.EnableLowerCamelCase();只是在序列化OData实体“响应”时使用Camel大小写,但是如何使用Camel大小写名称和ODataQueryOptions <>使用asp.net核心正确创建OData API?我是否必须实现自定义活页夹,或者有本地方法吗?我在这里发现了一个可能与我的问题有关的问题:https : //github.com/OData/WebApi/issues/889有没有人设法做到这一点而没有任何黑客?
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

使用最新的OData软件包(7 beta4或最终版本),一切都可以正常工作,而无需任何其他设置。我发布这个问题时,应该认为我的EDM OData模型应该有旧的OData软件包或错误的设置...


查看完整回答
反对 回复 2021-05-08
  • 1 回答
  • 0 关注
  • 178 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信