OData-фильтр по вложенному свойству
кто-нибудь знает, как выразить фильтр OData $против вложенного свойства?
для ex. У меня есть следующая запись 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>
Я хочу отфильтровать те записи, которые имеют RegardingObjectId / LogicalName eq 'new_sportsleague'.
пробовал с 'RegardingObjectId / LogicalName' и ' RegardingObjectId.LogicalName' не повезло.
2 ответов
'RegardingObjectId/LogicalName'
будет правильным синтаксисом.
например:
http://services.odata.org/v3/OData/OData.svc/Suppliers
возвращает два результата, тогда как
http://services.odata.org/v3/OData/OData.svc/Suppliers?$filter=Адрес / улица eq 'NE 228th'
возвращает только одну.
Я не вижу места в спецификации OData, которое явно указывает, является ли фильтрация с использованием свойств Комплекса значение является законным или нет, но, похоже, службы данных WCF поддерживают его. Возможно, что другие реализации OData этого не делают.
используйте следующий пример API odata для доступа к вложенным свойствам с данными фильтра
http://192.168.50.152:50086/odata/StationOperationLogs/?$expand=ProductionStation,ProductionStation/ProductionUnit&$filter=ProductionStation/ProductionUnit/Id eq 2