18

ネストされたプロパティに対して OData $filter を表現する方法を知っている人はいますか?

例のために。次の 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' を持つエントリをフィルタリングしたいと思います。

「RegardingObjectId/LogicalName」と「RegardingObjectId.LogicalName」を試してみましたが、うまくいきませんでした。

4

2 に答える 2

36

'RegardingObjectId/LogicalName'正しい構文になります。

例えば:

http://services.odata.org/v3/OData/OData.svc/Suppliers

2 つの結果を返しますが、

http://services.odata.org/v3/OData/OData.svc/Suppliers ?$filter=Address/Street eq 'NE 228th'

1つだけ返します。

OData 仕様には、複雑な値のプロパティを使用したフィルター処理が有効かどうかを明示する箇所はありませんが、WCF Data Services はそれをサポートしているようです。他の OData 実装にはない可能性があります。

于 2013-05-15T17:24:37.673 に答える
4

次の odata API の例を使用して、フィルター データでネストされたプロパティにアクセスします。

http://192.168.50.152:50086/odata/StationOperationLogs/?$expand=ProductionStation,ProductionStation/ProductionUnit&$filter=ProductionStation/ProductionUnit/Id eq 2
于 2016-02-25T05:57:34.707 に答える