【发布时间】:2015-04-10 18:47:30
【问题描述】:
我一直在寻找解析 OData URL 以替换使用的列名的解决方案。
目的是在服务器上接受对特定实体类型的 OData 查询,将查询转发到具有相似结构但其他列名称的另一个 OData 服务,并将结果作为以前的类型返回。
换句话说,为 OData 客户端提供一个通用接口,但能够将数据提取到其他源,但保留客户端要求的排序和过滤。
简单的解决方案是用文本替换所需的列名,但这可能与查询中可能的字符串值冲突。为此使用 RegEx 非常复杂,因此可能需要适当的解析器。
最好的解决方案是解析 ODataQueryOptions.Filter 和 OrderBy,替换列名并返回新的 OData 查询字符串。
所以问题是.. 有人知道支持将 ODataQueryOptions 结构解析回 OData URI 的库或代码 sn-ps 吗?
注意:此解决方案必须与 OData 版本 3 一起使用,因为我在项目中仅限使用该版本。
【问题讨论】: