如何测试OData中的位

时间:2015-10-22 07:01:15

标签: bit-manipulation odata

OData不包含任何位操作运算符。

有没有办法创建一个等效于

的$ filter
column & mask = mask
column & mask = 0

有可用的odata运营商吗? 添加,子,div,mul,mod,neg,round,floor,ceiling

在我的情况下mask只能包含一位

我得到的一个想法是声明一个通用的“flags”枚举(例如Bits.Bit1,Bits.Bit2),然后使用cast + has但不知道它是否有效。< / p>

2 个答案:

答案 0 :(得分:0)

无法通过OData v4接口测试整数位的开/关。

flags枚举工作正常,但整数不能转换为枚举。即您必须将列公开为元数据中的枚举。

答案 1 :(得分:0)

如果您只需要检查实体枚举属性是否包含任何 [Flags] 值,您可以使用“has”运算符。

http://docs.oasis-open.org/odata/odata/v4.0/cs02/part2-url-conventions/odata-v4.0-cs02-part2-url-conventions.html#_Toc372793313