簡體   English   中英

為什么 Dynamics CRM 元數據中不存在 EntitySet“所有者”?

[英]Why is the EntitySet "owners" not present in Dynamics CRM metadata?

使用odata-client-microsoft-dynamics我正在生成 java 代碼作為 Dynamics CRM OData api 的客戶端。代碼生成的基礎是在https://PROJECT.crm6.dynamics.com/api/data定義的元數據/v9.1/$元數據?格式=xml 。

在元數據中,我看到大約 600 個以 EntitySet“所有者”為目標的NavigationPropertyBinding元素,但此 EntitySet 未在元數據中定義(並且沒有導入表明它在其他地方定義)。 在我看來,元數據已損壞,有人可以告訴我在哪里可以找到 EntitySet“所有者”定義或解釋為什么元數據中缺少它嗎?

請注意,我已確認此 EntitySet 在不同組織的 Dynamics CRM 元數據中缺失,包括 crm4 和 crm6,均為 v9.1。

沒有名為“owner”的實體,但它是一個特殊的實體引用( 多態查找),它可以是owninguserowningteam 這是因為所有者與 Dynamics 安全概念緊密耦合 - 實體記錄可以由系統用戶或團隊(用戶集)擁有。

如果您嘗試使用 web api 獲取詳細信息,則必須擴展這兩個屬性,其中一個屬性將具有基於所有權的值。 閱讀更多

更新

當您查看這些導航屬性綁定時,潛在客戶、客戶、業務單位等目標都是由復數名稱引用的實際實體。 其他是團隊和系統用戶 - 他們也是實際實體,但在內部由Target = "owners"引用,並且 Path 中的任何一個將由平台根據分配填寫。

      <NavigationPropertyBinding Path="originatingleadid" Target="leads" />
      <NavigationPropertyBinding Path="ownerid" Target="owners" />
      <NavigationPropertyBinding Path="owningbusinessunit" Target="businessunits" />
      <NavigationPropertyBinding Path="owningteam" Target="teams" />
      <NavigationPropertyBinding Path="owninguser" Target="systemusers" />
      <NavigationPropertyBinding Path="parentaccountid" Target="accounts" />

和實際財產:

    <NavigationProperty Name="ownerid" Type="mscrm.principal" Nullable="false" Partner="owner_accounts">
      <ReferentialConstraint Property="_ownerid_value" ReferencedProperty="ownerid" />
    </NavigationProperty>

和合作伙伴:

    <NavigationProperty Name="owner_accounts" Type="Collection(mscrm.account)" Partner="ownerid" />

注意:為了更好地解釋,我從元數據中引用了上述節點,但它們可能來自也可能不來自同一實體/在同一實體中可用。

暫無
暫無

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

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