2013-05-15 53 views
6

có ai biết cách thể hiện bộ lọc OData $ với thuộc tính lồng nhau không?OData - bộ lọc theo thuộc tính lồng nhau

cho ví dụ. Tôi có mục nhập Atom sau đây,

<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> 

Tôi muốn lọc cho những mục nhập có AboutObjectId/LogicalName eq 'new_sportsleague'.

Đã thử với 'RelatedObjectId/LogicalName' và 'RelatedObjectId.LogicalName' không có may mắn.

Trả lời

10

'RegardingObjectId/LogicalName' sẽ là cú pháp chính xác.

Ví dụ:

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

lợi nhuận hai kết quả, trong khi

http://services.odata.org/v3/OData/OData.svc/Suppliers $ filter = Địa chỉ/đường eq 'NE 228'

lợi nhuận chỉ là một?.

Tôi không thấy một địa điểm trong thông số OData nêu rõ việc lọc sử dụng các thuộc tính của một giá trị phức tạp có hợp pháp hay không, nhưng có vẻ như WCF Data Services hỗ trợ nó. Có thể là các triển khai OData khác thì không.

+0

Bạn có quyền Jen ... Dường như Dynamics CRM 2011 không hỗ trợ truy vấn như vậy. Khi truy vấn đối với một kiểu phức tạp, tôi nhận được $ exception {"Tham chiếu đến thuộc tính LogicalName trên kiểu phức EntityReference không được hỗ trợ"} System.Exception {Microsoft.Crm.CrmNotSupportedException} :-( – Ariel

0

Sử dụng sau OData dụ API để truy cập vào các thuộc tính lồng nhau với dữ liệu lọc

http://192.168.50.152:50086/odata/StationOperationLogs/?$expand=ProductionStation,ProductionStation/ProductionUnit&$filter=ProductionStation/ProductionUnit/Id eq 2 
Các vấn đề liên quan