2013-05-15 8 views
6

중첩 된 속성에 대해 OData $ 필터를 표현하는 방법을 아는 사람이 있습니까?OData - 중첩 된 속성으로 필터링

예 : 나는

<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'으로 시도했습니다.

답변

10

'RegardingObjectId/LogicalName'은 올바른 구문입니다. 예를 들어

:

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

반환이 개 결과,

http://services.odata.org/v3/OData/OData.svc/Suppliers $ 필터 = 주소/거리 EQ 'NE 228'

반환 한 반면.

OData 사양에서 복잡한 값의 속성을 사용한 필터링이 올바른지 여부를 명시 적으로 표시하지 않지만 WCF Data Services에서 지원하는 것으로 보입니다. 다른 OData 구현에서는 그렇지 않을 수 있습니다. 하나로, OData API의 예를 다음

+0

당신이 바로 젠은 ... 역학 CRM 2011은 쿼리를 지원하지 않는 것 같습니다 필터 데이터와 중첩 된 속성에 액세스 할 수 있습니다. 복합 유형에 대해 질의 할 때 $ exception { "복잡한 유형의 EntityReference에 대한 LogicalName 참조가 지원되지 않습니다."} System.Exception {Microsoft.Crm.CrmNotSupportedException} :--( – Ariel

0

사용

http://192.168.50.152:50086/odata/StationOperationLogs/?$expand=ProductionStation,ProductionStation/ProductionUnit&$filter=ProductionStation/ProductionUnit/Id eq 2 
관련 문제