分享方式:


建立或編輯包含外部來源中資料的虛擬實體

本主題適用於 Dynamics 365 Customer Engagement (on-premises)。 有關本主題的 Power Apps 版本,請參閱: 建立和編輯包含外部資料來源中的資料的虛擬實體

虛擬實體是 Dynamics 365 Customer Engagement (on-premises) 中的自訂實體,其欄位包含外部資料來源的資料。 虛擬實體會在您的應用程式中向使用者顯示為一般實體記錄,但是包含來自外部資料庫的資料,例如 Azure SQL Database。 以虛擬實體為基礎的記錄可在所有用戶端中使用,包括使用 Dynamics 365 Customer Engagement Web 服務開發的自訂用戶端。

在過去,若要整合全然不同的資料來源,您必須建立連接器來移動資料,或是開發用戶端或伺服器端的外掛程式。 不過,您可以在執行階段透過虛擬實體直接與外部資料來源連接,讓外部資料來源中的特定資料可以在環境中使用,而不需要進行資料複寫。

虛擬實體由三個主要元件組成:資料提供者資料來源記錄和虛擬實體。 資料提供者包含外掛程式和資料來源實體。 資料來源是 Dynamics 365 Customer Engagement (on-premises) 的實體記錄,其中包含表示連接參數結構描述的中繼資料。 每個虛擬實體都會參考實體定義中的資料來源。

Dynamics 365 Customer Engagement (on-premises) 包含 OData 資料提供者,您可以用來與存取外部資料的 OData v4 Web 服務進行連接。

或者,開發人員也可以建立自己的資料提供者。 資料提供者已當做解決方案安裝在環境中。 其他資訊:開始使用虛擬實體

虛擬實體圖表。

虛擬實體優勢

  • 開發人員可以使用 Dynamics 365 Customer Engagement Web 服務和 Customer Engagement 外掛程式註冊工具來實作外掛程式,以讀取外部資料。

  • 系統自訂員會使用 Dynamics 365 Customer Engagement (on-premises) 來設定資料來源記錄,並建立用來存取外部資料的虛擬實體,不需撰寫任何程式碼。

  • 使用者可使用虛擬實體建立的記錄檢視欄位、網格、搜尋結果及 Fetch XML 報表和儀表板中的資料。

新增要用於虛擬實體的資料來源

開發人員會建立自訂外掛程式做為虛擬實體的資料提供者。 或者,也可以使用提供的 OData v4 資料提供者。 其他資訊:OData v4 資料提供者設定、需求和最佳做法

  1. 移至設定>管理>虛擬實體資料來源

  2. 在動作工具列上選取新增

  3. 在 [選取資料提供者] 對話方塊中,從下列資料來源選取,然後選取確定

將受保護欄位新增至資料來源

您可以透過適用於任何其他實體的同樣方式來建立資料來源的欄位。 如果資料已加密或具有敏感性,請在 [資料來源] 的自訂欄位上啟用 [資料來源密碼] 屬性。 例如,保護包含資料庫連接字串的欄位。

注意

[資料來源秘密] 屬性只能與新增至 [資料來源] 表單的欄位搭配使用。

資料來源密碼屬性。

建立虛擬實體

就像 Customer Engagement 中的任何其他實體一樣,您可以新增一些此處所述的額外屬性來建立虛擬實體。

注意

雖然您可以選取 做為資料來源來建立虛擬的實體,但要取得資料,虛擬實體就必須有資料來源。 其他資訊:新增要用於虛擬實體的資料來源

  1. 前往設定>自訂>自訂系統

  2. 在方案總管中建立新的實體。 若要這麼做,選取左導覽窗格中的實體,然後選取新增

  3. 實體定義一般索引標籤上,選取虛擬實體,然後在資料來源下拉式清單中選取您想要的資料來源。

    實體定義上的虛擬實體選項。

  4. 在 [實體定義] 中,完成下列必要的欄位。

    • 外部名稱。 輸入與此實體對應之外部資料來源中表格的名稱。

    • 外部集合名稱。 輸入與此實體對應之外部資料來源中表格的複數名稱。

      以下是名為 Movie 之虛擬實體的範例,此範例使用 Azure Cosmos DB 資料提供者來存取文件檔案。

    使用 Azure Cosmos DB 資料提供者的虛擬實體定義。

    重要

    虛擬實體沒有提供像 [存取團隊]、[佇列] 和 [快速建立] 這樣的幾個選項。 其他資訊:使用虛擬實體時的考量

    視需要完成其他的必要與選用屬性,例如顯示名稱和複數名稱。 如需這些屬性的詳細資訊,請參閱建立和編輯實體

  5. 為虛擬實體建立並新增一個或多個欄位。 除了建立自訂欄位所需的標準欄位屬性之外,下列選用屬性適用於您為虛擬實體建立的每個自訂欄位。

    • 外部名稱。 這通常是識別您要顯示於欄位之資料的唯一名稱。

    注意

    如果您建立的欄位類型是 OptionSet,則有下列額外的欄位可用。

    • 外部類型名稱。 此屬性對應至選項組外部服務中值組的外部名稱。 這是通常是字串值類別的列舉或名稱。 需要完整名稱時,可以使用 [外部類型名稱]。 比如說,類型名稱搭配 OData,其中查詢的參數就需要完整的名稱 (例如 [類型名稱].[])。
    • 外部值。 此屬性對應至選項組項目外部資料來源中的相應值。 輸入的這個值會用來判斷哪一個選項組項目要顯示在應用程式中。

    視需要完成其他屬性。 如需這些屬性的詳細資訊,請參閱建立和編輯欄位

  6. 選取欄位內容頁面上的儲存後關閉

  7. 在方案總管工具列上,選取儲存

  8. 在方案總管工具列上,選取發行

  9. 關閉方案總管。

使用虛擬實體時的考量

虛擬實體有下列限制。

  • 所有虛擬實體都是唯讀的。

  • 現有的實體無法轉換為虛擬實體。

  • 根據預設,虛擬實體僅包含 [名稱] 和 [識別碼] 欄位。 不支援其他系統管理欄位,例如 [狀態] 或 [建立日期]/[修改日期]。

  • 虛擬實體不支援資料類型為 [貨幣]、[影像] 或 [客戶] 的自訂欄位。  

  • 虛擬實體不支援稽核。

  • 虛擬實體欄位無法用於彙總欄位或導出欄位。  

  • 虛擬實體不可以是活動類型的實體。

  • 許多影響實體表格列的功能無法透過虛擬實體來啟用。 例如,佇列、知識管理、SLA、重複資料偵測、變更追蹤、Mobile Offline 功能、欄位安全性、相關性搜尋、Dynamics 365 Customer Engagement (on-premises) 入口網站 Web 入口網站解決方案,以及虛擬實體之間的 N:N 關聯等功能便是。

  • 虛擬實體為組織所擁有,不支援資料列層級 Commond Data Service for Apps 安全性概念。 建議您針對外部資料來源執行您自己的安全性模型。

  • 建議您在 [進階尋找] 中使用虛擬實體時,以單一資料來源為目標。 例如,不支援建立最終會建立 Dataverse 原生資料與虛擬實體外部資料之間聯結的 [進階尋找]。

  • 在更新時驗證的欄位中繼資料屬性不適用於虛擬實體。 例如,虛擬實體上的 [整數] 欄位可能會設為含有零的最小值。 不過,由於值是來自外部資料來源,當從虛擬實體擷取時,查詢將會傳回小於零的值。 最小值屬性未隱含在查詢中。 如果那是您所要的結果,還是必須將值篩選為大於 0。

  • 虛擬實體不支援變更追蹤,而且無法使用 Customer Engagement 功能 (例如資料匯出服務) 進行同步處理。

  • 不支援使用虛擬實體的商務程序流程。 其他資訊:當使用者啟動商務程序流程時收到未預期的錯誤

當使用者啟動商務程序流程時收到未預期的錯誤

當使用者嘗試啟動商務程序流程時,可能會收到「未預期的錯誤」訊息。 查看記錄檔會顯示下列記錄項目。

錯誤碼:0x80040216 訊息:System.Web.HttpUnhandledException: 引發了 'System.Web.HttpUnhandledException' 類型的例外狀況。 ---> Microsoft. CrmException:無法為虛擬實體啟用商務程序流程

發生此問題的原因是虛擬實體不支援商務程序流程。

另請參閱

OData v4 資料提供者需求和最佳做法
建立及編輯實體
建立和編輯欄位