簡體   English   中英

使用XRM SDK從ms dynamics crm獲取相關數據

[英]get related data from ms dynamics crm using XRM SDK

我正在嘗試使用SDK從.net應用程序中的crm檢索數據。 我已經設法做一些簡單的查詢來檢索列表,但是現在我想獲取帶有項目而不是ID的相關實體。

我已經嘗試過類似的東西

QueryExpression query = new QueryExpression
  {
    EntityName = "opportunity",
....

LinkEntity linkEntityAccount = new LinkEntity()
 {
    LinkFromEntityName = "opportunity",
    LinkFromAttributeName = "opportunityid",
    LinkToEntityName = "serviceappointment",
    LinkToAttributeName = "regardingobjectid",
    JoinOperator = JoinOperator.Inner,
    Columns = new ColumnSet(new string[] { "scheduledstart", "scheduledend" }),
    EntityAlias = "service"
 };

query.LinkEntities.Add(linkEntityAccount);

(這將返回機會表中的實體集合)

但是,LinkedEntities只是將兩列放在return實體中。

我想要的是(例如針對此示例)是一個entity.serviceappointment ,它是包含服務約會實體/數據的實體。 而不是在實體中,存在諸如service.scheduledstartservice.scheduledend字段

我已經查看了SDK中的RelationshipRelationshipQueryCollection內容,但是在沒有先獲取opportunity實體的情況下,無法設置將執行該查詢的查詢。 但是看起來好像我需要什么? 我不確定。

這有可能嗎? 還是應該繼續單獨查詢實體?

謝謝

QueryExpressionLinkEntity表示一個LinkEntity 這就是為什么聯接表的字段位於“ Entity行中的原因。 可以通過以下方式將它們與“真實”實體屬性區分開:它們的名稱帶有前綴(包括點),並且其值包裝在AliasedValue對象中。

可以解開它們並創建強類型的Entity對象,但是您需要自己編寫代碼。

另外,您可以考慮其他一些選擇:

  1. 查詢serviceappointment記錄並加入opportunity記錄。
  2. 檢索opportunity記錄逐一使用RetrieveRequest ,包括在請求相關服務預約查詢。 (另請參見有關StackOverflow的討論。)
  3. 創建一個Action,以方便的OrganizationResponse返回您需要的所有數據。

沒有自動的方法來獲取我所知道的整個鏈接的實體數據(作為Entity對象)(請注意,這並不是說不可能)。

但是我認為僅查詢另一個請求中所需的數據會容易得多。

  • 查找您需要的機會清單
  • 使用有關對象ID作為第二個查詢的“ IN”過濾器的參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM