共用方式為


資料設計工具擴充性架構

資料設計工具擴充性 (DDEX) 提供一個機制,擴充資料設計工具,在Visual Studio通訊與外部資料來源和公開其物件階層架構和階層架構中的檢視表可讓伺服器總管。 DDEX 允許存取外部資料來源物件在執行階段,不只提供資料物件可見度Visual Studio,但同時也讓拖放功能、 物件屬性方格可見性,以及整合功能的Visual Studio設計工具。 簡單地說,DDEX 可讓協力廠商的資料來源的提供者,享受完整的表現,在Visual Studio設計階段經驗。

注意事項注意事項

DDEX 提供者互異。NET 資料提供者。如需詳細資訊,請參閱 DDEX 提供者

資料設計工具擴充性,便需使用 DDEX SDK 和功能的架構,並受管理的 Api,整合外部資料來源物件到Visual Studio環境。

注意事項注意事項

此 SDK 應用於搭配擴充 Visual Studio 的概觀

架構概觀

下圖提供高階、 圖解檢視 DDEX 架構。 中,您會看到 DDEX 用戶端裝載於Visual Studio,以及它妥善溝通,並且與 DDEX 提供者互動,使用存取] 及 [核心的服務 (DDEX 的 managed 的類別庫的一部分)。 DDEX 提供者本身是只支援實體,也就是 managed 的類別的實作。 接著會與資料層使用專用的 DDEX 通訊。NET 資料提供者。 不過,要注意的是,資料提供者可以在其中的 DDEX 提供者配備與資料來源互動時所需的功能的情況下中省略。

DDEX 架構圖

DDEX 架構

DDEX 圖層,其部份的兩個是中央: DDEX 支援實體和 DDEX 服務。

支援實體、 核心服務和 Access Services

DDEX 支援實體是以啟用資料的擴充性的 DDEX 提供者實作的介面。 事實上,它是實作這些支援實體構成 DDEX 提供者。

DDEX 服務,相反地,會分解為核心服務與存取服務。 核心服務是透過此支援實體所公開的基本服務。 它們是在所管理的內部實作介面類別的Visual Studio來建立最上層的 DDEX 提供者支援實體,並使用資料提供者和資料來源的呼叫。 存取服務,也是在內部以 managed 類別實作的介面,提供Visual Studio來建立和使用資料連接,以及存取記憶體中資料的資料物件的結構表示支援 XML 和支援 XML 的資料檢視。 此外,存取服務會使用支援的實體。

下圖說明支援的實體和更詳細的服務之間的關係。

支援實體和 Access Services 圖表

API 對應影像

支援的實體

受管理的 Api 構成 DDEX 提供者廣泛分成三大類:

  • 連線支援

  • 資料物件支援

  • 資料檢視支援

連線支援

連線支援可提供用來指定連線資訊,包括資料來源和連接字串。 其做法是以程式設計的方式,如果已知的連接資訊,或使用連接 UI 提示使用者輸入必要的連接資訊。 DDEX 提供者可以選擇性地公開連接控制項裝載於Visual Studio核取方塊。

資料物件支援

使用資料物件支援的 XML 檔案,DDEX 提供者定義所指定的資料來源的資料提供者公開的資料物件。 它也會定義物件層級或物件模型,這些物件。

Visual Studio中繼資料引擎會維護的強型別的類別,可讓它辨識人的泛用的資料來源物件,例如資料表、 檢視和預存程序,以及泛用物件的屬性,可以全部都減少為對應的型別程式庫。 您的 XML 檔案中所提供的資料物件定義可讓您將對應至這些泛用型別可辨認的中繼資料引擎的其中一個資料提供者所支援的物件型別。

除了定義物件型別,並將它們對應至泛用型別,您的資料物件支援結構描述也必須指定下列:

  • 如何列舉屬於指定型別,方法是指定需要列舉物件時所呼叫的處理常式的物件。

  • 如何擷取中繼資料物件的中繼資料,例如物件識別元或物件屬性。

  • 如何建構剪貼簿的物件,在何處執行指定之型別的物件的複製作業的情況下。 Visual Studio資料設計工具會使用資料來源參考 (DSRef) 的剪貼簿格式。 支援 DSRef 的物件可以拖曳-和-放到Visual Studio資料設計工具。

如需有關資料物件支援的詳細資訊,請參閱DDEX 資料物件支援

資料檢視支援

使用資料檢視支援 XML 檔案,DDEX 提供者定義實體的階層架構中指定的連接節點之下顯示的資料物件的Visual Studio伺服器總管。  您可以定義多個相同的資料來源檢視。

除了定義實體的物件階層架構,您也可以指定階層架構節點,包括當地語系化的顯示名稱、 內容功能表的功能表命令 (指令名稱、 「 刪除位和處理常式)、 圖示和其他資訊,請等所需的其他資訊。

如需詳細資料檢視支援的詳細資訊,請參閱DDEX 資料檢視支援

核心服務

DDEX 會提供一組介面以及管理在內部實作的類別, Visual Studio電話存取 DDEX 提供者支援的最上層項目表單中實作的功能。 這些介面都通稱為 DDEX 核心服務。

下面是更重要的核心服務:

  • 提供者管理員可讓您列舉已註冊的 DDEX 提供者,並查詢特定的型別物件 (IVsDataProviderManager介面)。

  • 資料提供者物件的原廠提供方法來建立 DDEX 提供者實作的資料物件 (IVsDataProviderObjectFactory介面)。

DDEX 核心服務都允許Visual Studio與在設計階段內容中的資料來源進行通訊。 這需要有元件服務連接至資料來源,以及一組特定的服務提供存取到資料來源物件型別和其階層式的版面配置檢視。

在典型的實作中,DDEX 用戶端會呼叫資料提供者物件 factory 來具現化的主要建置組塊。 這些機碼的建置組塊包括連線建築物和連接支援物件 (請參閱支援實體和 Access Services 圖表)。 某些建置組塊物件再產生第二個物件,如有需要,在支援的項目階層架構下層。

Access Services

DDEX 會提供一組介面以及管理在內部實作的類別, Visual Studio呼叫存取的資料連接和資料物件的記憶體中表示的功能支援 XML,而且資料檢視支援 XML。 這些介面都通稱為 DDEX 的存取服務。

更重要的存取服務包括下列:

您可以檢視的資料來源連接 (和重要的部份,例如連線管理員 」 和 「 連線工廠) 是一個提供的資料的擴充性架構已整合的服務。 在此檢視中, Visual Studio中繼資料引擎的作用就像使用 Access Services Api,依序呼叫及其對應的支援實體連線用戶端。 這是透過該機制Visual Studio會組合為資料來源的連接提供服務的支援結構。

Access Services 和支援實體之間的重疊

支援的實體與存取服務的主要差異是擴充性用戶端使用的存取服務 (主要是連線物件),依序進行通訊的 DDEX 提供者。 檢視從相反的方向,提供者的連線使用操作支援實體的 Api。

在某些情況下,存取服務和支援實體的角色重疊,特別是,則必須確保執行緒安全。 DDEX 架構提供安全的鎖定圖層的資料提供者與連線的用戶端之間,為上述目的。 下列範例會說明此功能。

當您取得,例如, IVsDataCommand而不是取得資料命令物件,該連線物件,而取得的 proxy 實作服務的連接物件,從IVsDataCommand介面。 Proxy 實作通訊,以支援實體實作它。 此外,proxy 實作是安全執行緒。 如此一來,proxy 先鎖定連接,然後再呼叫向下支援實體 ; 完成連線,一次解除鎖定釋放執行緒鎖定的連線。

在這個範例中, IVsDataCommand介面實作為存取服務 (在該用戶端將會呼叫它直接),但也視為支援項目,行為,因為資料提供者實作相同的介面,以及結果就是建立提供者與連線的用戶端之間的安全鎖定圖層。

DDEX 參考

DDEX SDK 提供完整的語言參考文件:

資料物件支援 XML 結構描述

您可以使用 [資料物件支援結構描述 (DataObjectSupport.xsd) 來以程式設計方式管理和列舉的資料來源物件的執行個體。 如需有關資料物件的詳細資訊,請參閱DDEX 資料物件支援

資料檢視支援 XML 結構描述

您可以使用 [資料檢視支援結構描述 (DataViewSupport.xsd) 來管理資料物件階層架構版面配置的一或多個檢視,在伺服器總管] 中所顯示的樣子。 如需詳細資料檢視的詳細資訊,請參閱DDEX 資料檢視支援

Managed 的類別庫參考

DDEX SDK 提供一組受管理的介面和基底類別,可讓您撰寫受管理的 DDEX 提供者。

請參閱

概念

資料檢視支援 」 概觀

DDEX 提供者

DDEX 資料物件支援