次の方法で共有


DatabaseSchemaProvider クラス

一連のファクトリ オブジェクトおよびファクトリ メソッドの基本クラスを提供します。 これらのオブジェクトおよびメソッドは、スキーマとスクリプトのモデリングに関連するサービス オブジェクトをインスタンス化するために使用され、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 Edition にある現在のデータベース プロジェクトの 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 の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッド RegisterModelTypes 派生クラスで実装された場合、指定されたモデル スキーマに存在するモデルの型を登録します。
パブリック メソッド SchemaVersionSupported 指定されたバージョンがスキーマ モデルのバージョンと同じかどうか、またはスキーマ モデルを指定されたバージョンに変換するための XLST を使用できるかどうかを示す値を返します。
パブリック メソッド ToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)

このページのトップへ

解説

この基本クラスを使用して、SqlDatabaseSchemaProvider クラスによって表される SQL Server などの特定のデータベース製品の具体的な実装を作成します。SqlDatabaseSchemaProvider は、Sql100DatabaseSchemaProviderSql90DatabaseSchemaProvider などの特定のバージョンの SQL Server に対応する複数のデータベース スキーマ プロバイダー (DSP) のそれぞれに対して基本クラスとして機能します。

さまざまなデータベース製品に対する DatabaseSchemaProvider クラスの具象実装は、これらのサービスを公開します。

  • スクリプト ファイルをスクリプト モデルに解析します。

  • スクリプト モデルをスキーマ モデルに解釈します。

  • スクリプト モデルをスキーマ モデルから生成します。

  • スクリプト ファイルをスクリプト モデルから生成します。

これらの高度な機能に加えて、比較サービスと表示名、アイコン、またはその他の UI オブジェクトのユーザー インターフェイス (UI) ヘルプなど、さらに詳細なサービスが公開されています。 これらの詳細なサービスは、DataProviderServices クラスによって提供されます。

DatabaseSchemaProvider の実装では、さまざまな DSP との互換性を宣言するアプリケーション機能も有効になります。 たとえば、機能が DatabaseSchemaProvider との互換性を宣言する場合、その機能は IDatabaseTable および IDatabaseColumn などの抽象インターフェイスを使用するように設計されています。 たとえば、機能が Sql100DatabaseSchemaProvider との互換性を宣言する場合、その機能は ISql100Table などの抽象インターフェイスを使用するように設計されています。 プロジェクトが宣言された互換性のあるプロバイダー型にも関係する場合のみ、この機能が読み込まれます。 これにより、機能は具体的な実装に固有の機能に安全にアクセスできます。

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

参照

参照

Microsoft.Data.Schema 名前空間

IExtension

Sql100DatabaseSchemaProvider

Sql90DatabaseSchemaProvider

IDatabaseTable

ISql100Table