1

只是想知道,如果目前的REST端點(2013)支持的任何或全部用於過濾基於子實體動態CRM REST的OData端點支持:的所有和任何

http://localhost/xrmservices/2011/OrganizationData.svc/AccountSet?$select=Name&$expand=lead_parent_account&$filter=lead_parent_account/any(x:x.City eq '') 

與回來: 無財產「任意」存在於位置20的類型'System.Collections.Generic.IEnumerable`1 [[Microsoft.Xrm.Sdk.Entity,Microsoft.Xrm.Sdk,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35]]'。

回答

3

OData端點只返回實體,不能執行布爾查詢,如IEnumerable<T>.Any()/.All()

一切都需要從數據入手:與你相似的查詢來獲取相關的實體可能是這樣的:

/AccountSet?$select=Name&$expand=lead_parent_account&$filter=lead_parent_account/City eq '' 

如果你得到結果的非空集,則相當於.Any()true

檢查.All()是討厭的:我能想到的最接近的方式將被檢查,如果該查詢返回所有記錄AccountSet(會需要一段時間,如果你有成千上萬的記錄,也請記住,結果被封在在5000封頂每個查詢和分頁,如果有更多)。

(:當然,如果一個執行代碼中QueryExpression,其結果可能是隨意LINQ-ED,因爲你不再依靠相當有限LINQtoCRM查詢提供商,但它不是非常相關這裏)

相關問題