如何使用OData创建交叉属性比较过滤器。即
之类的东西/订单?$ filter = OrderDate gt ShippedDate
所有OData示例仅显示过滤器表达式右侧的文字。
这可能与OData有关,还是我错过了什么?
答案 0 :(得分:3)
当然可以这样做。以下是来自Netflix的查询,比较了DVD和BluRay标题的可用日期
http://odata.netflix.com/Catalog/Titles?$filter=Dvd/AvailableFrom%20gt%20BluRay/AvailableFrom
答案 1 :(得分:1)
但是当然,这里是相关的ABNF,显示左右值是可互换的,并且都可以是memberExpr或boolFunctionCallExpr,甚至是非bobo表达式(例如:lowercase(Category / Slug)eq lowercase(substring(ProcuctName) ,10))。
commonExpr = [ WSP ] (
boolCommonExpr /
methodCallExpr /
parenExpr /
literalExpr /
addExpr /
subExpr /
mulExpr /
divExpr /
modExpr /
negateExpr /
memberExpr /
firstMemberExpr /
castExpr /
functionCallExpr
) [ WSP ]
ltExpr = commonExpr WSP "lt" WSP commonExpr