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) 每一個的基礎類別,例如 Sql100DatabaseSchemaProvider 和 Sql90DatabaseSchemaProvider等。
DatabaseSchemaProvider 類別的具體實作,針對各種不同的資料庫產品公開這些服務:
將指令碼檔案剖析至指令碼模型中。
將指令碼模型解譯為結構描述模型。
從結構描述模型產生指令碼模型。
從指令碼模型產生指令碼檔案。
除了這些高階能力,還有公開更詳細的服務,例如比較服務和顯示名稱、圖示或其他 UI 物件的使用者介面 (UI) 說明。 DataProviderServices 類別會提供這些詳細的服務。
DatabaseSchemaProvider 實作也會啟用應用程式功能以宣告與各種 DSP 的相容性。 例如,如果某項功能宣告與 DatabaseSchemaProvider 的相容性,該功能的設計就是要與抽象介面搭配運作,例如 IDatabaseTable 和 IDatabaseColumn。 如果某項功能宣告與具體實作具有相容性,例如 Sql100DatabaseSchemaProvider,該功能的設計就是要與 ISql100Table 一類的抽象介面搭配運作。 如果專案也屬於宣告的相容提供者型別,才能載入該功能。 這可讓功能安全存取具體實作專有的功能。
執行緒安全
這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。