我的Odata集合返回一个包含以下字段的集合:
<d:ColorFlagInfo>Red,Blue</d:ColorFlagInfo>
<d:ColorFlagInfo>Red,Green</d:ColorFlagInfo>
<d:ColorFlagInfo>Black,Brown</d:ColorFlagInfo>
有人可以帮我构建一个按一种或多种特定颜色过滤的Odata查询:
我尝试了以下方法来获得特定的颜色:
http://odata.test.com/cars?$ filter = substringof('Black',ColorFlagInfo)
http://odata.test.com/cars?$ filter = ColorFlagInfo%20eq%20&#39; Black&#39;
我如何找到包含绿色的所有ColarFlagInfo?
答案 0 :(得分:1)
在OData V3中,我们没有Enum类型。 OData V4可以。
您的服务实施了什么? WebAPI OData或WCF DS。
对于WebAPI OData:
在V3中,&#39; substringof&#39;函数不能应用于枚举类型。 您需要附加所有可能的条件
$ filter = ColorFlagInfo eq&#39; Green&#39;或ColorFlagInfo eq&#39; Red,Green&#39;或....
在V4中,您可以在枚举类型上使用has
运算符。
$ filter = ColorFlagInfo有Namespace.ColorFlagInfoTypeName&#39;绿色&#39;