共用方式為


DatabaseSchemaProvider 類別

為一組 Factory 物件和 Factory 方法提供基底類別。 這些物件和方法可用來執行個體化與結構描述和指令碼模型相關的服務物件,而這些服務物件表示 Visual Studio 中資料庫專案的核心物件。

繼承階層架構

System.Object
  Microsoft.Data.Schema.DatabaseSchemaProvider
    Microsoft.Data.Schema.Sql.SqlDatabaseSchemaProvider

命名空間:  Microsoft.Data.Schema
組件:  Microsoft.Data.Schema (在 Microsoft.Data.Schema.dll 中)

語法

'宣告
Public MustInherit Class DatabaseSchemaProvider _
    Implements IExtension
public abstract class DatabaseSchemaProvider : IExtension
public ref class DatabaseSchemaProvider abstract : IExtension
[<AbstractClass>]
type DatabaseSchemaProvider =  
    class
        interface IExtension
    end
public abstract class DatabaseSchemaProvider implements IExtension

DatabaseSchemaProvider 型別會公開下列成員。

建構函式

  名稱 說明
受保護的方法 DatabaseSchemaProvider 透過使用提供的建構函式型別,初始化 DatabaseSchemaProvider 類別的新執行個體。

回頁首

屬性

  名稱 說明
公用屬性 ExtensionManager 取得 Visual Studio Team System 2008 Database 版中目前資料庫專案的 ExtensionManager
公用屬性 FamilyName 取得提供者群組的名稱。例如,SQL Server 資料庫提供者系列的系列名稱是 "sql"。
公用屬性 ModelSchema 取得這個提供者的 ModelSchema 物件。
公用屬性 UserInteractionServices 在衍生類別中實作時,取得這個提供者的 UserInteractionServices 物件。

回頁首

方法

  名稱 說明
公用方法 Equals 判斷指定的 Object 和目前的 Object 是否相等。 (繼承自 Object)。
受保護的方法 Finalize 允許物件在記憶體回收進行回收之前,嘗試釋放資源並執行其他清除作業。 (繼承自 Object)。
公用方法靜態成員 GetCompatibleDatabaseSchemaProviderType 傳回 Type,表示適用於所提供連接字串指向之資料庫版本以及所提供系列名稱的提供者型別。
公用方法靜態成員 GetCompatibleDatabaseSchemaProviderTypes 傳回提供者型別清單,這些提供者型別與這個提供者相容。
公用方法 GetHashCode 做為特定型別的雜湊函式。 (繼承自 Object)。
公用方法 GetSchemaUpgradeXslt 在衍生類別中實作時,傳回 XSLT 以轉換所提供版本的結構描述模型,使其符合目前的結構描述模型。
公用方法 GetService<TService> 傳回具現化服務物件,這個物件已向此提供者註冊並且透過提供的 Type 進行識別。
公用方法 GetServiceConstructor<TServiceConstructor> 傳回所提供 Type 識別之服務的建構函式。
公用方法 GetType 取得目前執行個體的 Type。 (繼承自 Object)。
受保護的方法 MemberwiseClone 建立目前 Object 的淺層複本 (Shallow Copy)。 (繼承自 Object)。
受保護的方法 RegisterModelTypes 在衍生類別中實作時,註冊在所提供模型結構描述中找到的模型型別。
公用方法 SchemaVersionSupported 傳回值,這個值表示提供的版本是否與結構描述模型的版本相同,或 XLST 是否可用於將結構描述模型轉換為提供的版本。
公用方法 ToString 傳回表示目前物件的字串。 (繼承自 Object)。

回頁首

備註

使用這個基底類別為特定資料庫產品建立具象實作,例如 SqlDatabaseSchemaProvider 類別所代表的 SQL Server。 SqlDatabaseSchemaProvider 會做為 SQL Server 特定版本其數個資料庫結構描述提者 (DSP) 每一個的基礎類別,例如 Sql100DatabaseSchemaProviderSql90DatabaseSchemaProvider等。

DatabaseSchemaProvider 類別的具體實作,針對各種不同的資料庫產品公開這些服務:

  • 將指令碼檔案剖析至指令碼模型中。

  • 將指令碼模型解譯為結構描述模型。

  • 從結構描述模型產生指令碼模型。

  • 從指令碼模型產生指令碼檔案。

除了這些高階能力,還有公開更詳細的服務,例如比較服務和顯示名稱、圖示或其他 UI 物件的使用者介面 (UI) 說明。 DataProviderServices 類別會提供這些詳細的服務。

DatabaseSchemaProvider 實作也會啟用應用程式功能以宣告與各種 DSP 的相容性。 例如,如果某項功能宣告與 DatabaseSchemaProvider 的相容性,該功能的設計就是要與抽象介面搭配運作,例如 IDatabaseTableIDatabaseColumn。 如果某項功能宣告與具體實作具有相容性,例如 Sql100DatabaseSchemaProvider,該功能的設計就是要與 ISql100Table 一類的抽象介面搭配運作。 如果專案也屬於宣告的相容提供者型別,才能載入該功能。 這可讓功能安全存取具體實作專有的功能。

執行緒安全

這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。

請參閱

參考

Microsoft.Data.Schema 命名空間

IExtension

Sql100DatabaseSchemaProvider

Sql90DatabaseSchemaProvider

IDatabaseTable

ISql100Table