虛擬資料表 (也稱為 虛擬實體) 可讓您將位於外部系統中的資料與 Microsoft Dataverse 整合。 此整合將外部資料無縫地表示為 Dataverse 中的資料表,無需複寫資料,通常也無需自訂編碼。
虛擬表取代了先前整合外部資料的用戶端和伺服器端方法,這些方法需要自訂程式碼並受到許多限制。 這些限制包括不完美的整合、資料重複或開發資源的大量投入。 此外,對於管理員和系統自訂者來說,使用虛擬表大大簡化了管理和配置。
備註
本節討論虛擬資料表對開發人員的影響。 如需從使用者介面管理虛擬資料表的詳細資訊,請參閱 建立和編輯包含外部資料來源資料的虛擬資料表。
虛擬資料表、資料提供者和資料來源
虛擬資料表包含 Dataverse 中資料表的定義,而沒有相關聯的實體資料表,用於 Dataverse 資料庫中的記錄儲存。 在執行階段期間,當需要記錄時,會從相關聯的外部系統動態擷取其狀態。 每一個虛擬表格類型都與 虛擬表格資料提供者 相關聯,以及 (選擇性地) 來自相關聯虛擬 表格資料來源的部分組態資訊。
下列資料提供者隨附 Dataverse:
- OData v4 提供者已包含在服務中並預設安裝。 此提供者支援建立、讀取 (擷取、擷取多筆)、更新與刪除 (CRUD) 操作。
- Azure Cosmos DB (原名 Microsoft Document DB) 提供者可從 AppSource 取得。
如果找不到外部資料來源的資料提供者,您可以開發 自訂虛擬資料表資料提供者。 其他資訊: 虛擬資料表資料提供者
自訂虛擬資料表資料提供者現在支援完整的 CRUD 作業。 開發人員可以實作外掛程式,並使用外掛程式註冊工具,針對支援虛擬資料表的每個 CRUD 作業進行註冊。
虛擬表格創建和映射
一開始,定義虛擬表格與定義自訂表格相同。 您可以指定新虛擬資料表類型的資料表、資料行和關係。 然後,您將虛擬資料表連線到資料提供者,以管理資料作業。
自訂表格類型及其資料行必須對應至外部資料來源中的對應資料。 例如,虛擬表格可能表示為外部關聯式資料庫中的列,其每一個直欄可能對應於該列中的直欄。 這些外部資料名稱通常與其對應的虛擬表格名稱不同。 實體識別碼欄位會發生特定且必要的對映 - 資料提供者必須能夠提供此 GUID,並且必須能夠將其與代表此記錄的外部記錄建立關聯。 達成此結果的最直接方式,是實際使用 GUID 作為外部資料來源中的主索引鍵。
在此範例中,也會提供對應的虛擬表格資料來源,以提供外部資料庫的使用者和連線資訊。
虛擬表的限制
以下是應考慮的虛擬表限制。
- 僅支援組織擁有的資料表。 不支援套用至使用者擁有資料表的安全性篩選。 可以根據個別使用者的資訊安全角色開啟或關閉對虛擬資料表資料的存取。 不支援欄位層級安全性。
- 必須能夠將外部資料建模為 Dataverse 資料表。 這意味著:
- 外部資料來源中的所有資料表都必須具有相關聯的 GUID 主索引鍵。
- 所有資料表屬性都必須表示為 Dataverse 資料表資料行。 您可以使用代表文字、數字、選擇、日期、影像和查閱的簡單類型。
- 您必須能夠對 Dataverse 中的任何資料表關聯性建立模型。
- 虛擬資料表上的欄位無法被計算或匯總。 所有必要的計算都必須在外部端完成,可能由資料提供者內部或透過其引導進行。
- 雖然您可以將虛擬資料表資料行新增為網格或其他 UI 檢視上的查閱,但無法根據此虛擬資料表查閱資料行進行篩選或排序。
- 不支援稽核。
- 虛擬資料表不支援搜尋功能,因為它們不會保存資料。
- 虛擬資料表不支援圖表和儀表板。
- 無法為佇列啟用虛擬資料表。
- 虛擬資料表不支援值的離線快取。
- 虛擬資料表無法代表活動,也不支援商務程序流程。
- 建立之後,虛擬資料表就無法變更為標準 (非虛擬) 資料表。 反之亦然,而標準表無法轉換為虛擬表。
- 在 Retrieve 和 RetrieveMultiple 查詢中選取屬性將不會生效,因為會傳回所有屬性。
- 減少和限制在網格視圖中包含虛擬表格查找欄。 讀取虛擬資料表查詢欄位可能需要一段時間。
如需有關這些限制如何反映在 Dataverse API 中的詳細資訊,請參閱虛擬資料表的 API 考量。
另請參閱
使用 OData v4 資料提供者的虛擬資料表逐步解說
虛擬資料表的 API 考量
自訂虛擬資料表資料提供者
範例:一般虛擬表格資料提供者外掛程式