有没有人知道如何针对嵌套属性表达OData $过滤器?
代表。我有以下Atom条目,
<entry>
...
<m:properties>
...
<d:RegardingObjectId m:type="Microsoft.Crm.Sdk.Data.Services.EntityReference">
<d:Id m:type="Edm.Guid">3f3712fd-fc49-e211-8eb8-000c296272c8</d:Id>
<d:LogicalName>new_sportsleague</d:LogicalName>
<d:Name>Boca</d:Name>
</d:RegardingObjectId>
我想过滤那些具有AboutObjectId / LogicalName eq'new_sportsleague'的条目。
尝试使用'ConcerObjectId / LogicalName'和'ConcerObjectId.LogicalName'而没有运气。
答案 0 :(得分:16)
'RegardingObjectId/LogicalName'
将是正确的语法。
例如:
http://services.odata.org/v3/OData/OData.svc/Suppliers
返回两个结果,而
http://services.odata.org/v3/OData/OData.svc/Suppliers?$ filter = Address / Street eq&#39; NE 228th&#39;
只返回一个。
我没有在OData规范中看到一个地方明确说明使用复杂值的属性进行过滤是否合法,但似乎WCF数据服务支持它。可能是其他OData实现没有。
答案 1 :(得分:3)
使用以下odata API示例访问具有过滤器数据的嵌套属性
http://192.168.50.152:50086/odata/StationOperationLogs/?$expand=ProductionStation,ProductionStation/ProductionUnit&$filter=ProductionStation/ProductionUnit/Id eq 2