Freigeben über


DatabaseSchemaProvider-Klasse

Stellt eine Basisklasse für eine Suite von Factoryobjekten und Factorymethoden bereit. Diese Objekte und die Methoden werden verwendet, um auf die Schema- und Skriptmodellierung bezogene Dienstobjekte zu instanziieren, die zusammen das Kernobjekt von Datenbankprojekten in Visual Studio darstellen.

Vererbungshierarchie

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

Namespace:  Microsoft.Data.Schema
Assembly:  Microsoft.Data.Schema (in Microsoft.Data.Schema.dll)

Syntax

'Declaration
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

Der DatabaseSchemaProvider-Typ macht die folgenden Member verfügbar.

Konstruktoren

  Name Beschreibung
Geschützte Methode DatabaseSchemaProvider Initialisiert eine neue Instanz der DatabaseSchemaProvider-Klasse mit den angegebenen Konstruktortypen.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft ExtensionManager Ruft das ExtensionManager-Element für das aktuelle Datenbankprojekt in Visual Studio Team System 2008 Database Edition ab.
Öffentliche Eigenschaft FamilyName Ruft den Namen einer Gruppe von Anbietern ab.Beispielsweise ist der Familienname der SQL Server-Familie für Datenbankanbieter "sql".
Öffentliche Eigenschaft ModelSchema Ruft das ModelSchema-Objekt für diesen Anbieter ab.
Öffentliche Eigenschaft UserInteractionServices Ruft bei der Implementierung in einer abgeleiteten Klasse das UserInteractionServices-Objekt für diesen Anbieter ab.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Equals Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeStatischer Member GetCompatibleDatabaseSchemaProviderType Gibt das Type-Element an, das den Anbietertyp für die Version der Datenbank darstellt, auf die die angegebene Verbindungszeichenfolge verweist, sowie für den angegebenen Familiennamen.
Öffentliche MethodeStatischer Member GetCompatibleDatabaseSchemaProviderTypes Gibt eine Liste von Anbietertypen zurück, die mit diesem Anbieter kompatibel sind.
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetSchemaUpgradeXslt Bei Implementierung in einer abgeleiteten Klasse wird XSLT zurückgegeben, um ein Schemamodell der bereitgestellten Version so zu konvertieren, dass es mit dem aktuellen Schemamodell übereinstimmt.
Öffentliche Methode GetService<TService> Gibt ein instanziiertes Dienstobjekt zurück, das bei diesem Anbieter registriert und vom angegebenen Type-Element identifiziert ist.
Öffentliche Methode GetServiceConstructor<TServiceConstructor> Gibt einen Konstruktor für den Dienst zurück, der vom angegebenen Type-Element identifiziert wird.
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte Methode RegisterModelTypes Bei der Implementierung in einer abgeleiteten Klasse werden die Modelltypen registriert, die im bereitgestellten Modellschema gefunden wurden.
Öffentliche Methode SchemaVersionSupported Gibt einen Wert zurück, der angibt, ob die bereitgestellte Version mit der des Schemamodells übereinstimmt oder ob ein XLST verfügbar ist, mit dem das Schemamodell in die bereitgestellte Version konvertiert werden kann.
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)

Zum Seitenanfang

Hinweise

Erstellen Sie mithilfe dieser Basisklasse eine konkrete Implementierung für ein bestimmtes Datenbankprodukt, z. B. SQL Server, das durch die SqlDatabaseSchemaProvider-Klasse dargestellt wird. SqlDatabaseSchemaProvider dient als Basisklasse für jeden von mehreren Datenbankschemaanbietern (DSPs) für bestimmte Versionen von SQL Server, z. B. Sql100DatabaseSchemaProvider und Sql90DatabaseSchemaProvider.

Konkrete Implementierungen der DatabaseSchemaProvider-Klasse für die verschiedenen Datenbankprodukte machen diese Dienste verfügbar:

  • Analysieren Sie in ein Skriptmodell eine Skriptdatei.

  • Interpretieren Sie ein Skriptmodell in ein Schemamodell.

  • Generieren Sie ein Skriptmodell anhand eines Schemamodells.

  • Generieren Sie eine Skriptdatei anhand eines Skriptmodells.

Zusätzlich zu diesen hochwertigen Fähigkeiten werden ausführlichere Dienste verfügbar gemacht, z. B. Vergleichsdienste und Benutzeroberflächenhilfe für Anzeigenamen, Symbole oder andere Benutzeroberflächenobjekte. Diese detaillierten Dienste werden über die DataProviderServices-Klasse zur Verfügung gestellt.

DatabaseSchemaProvider-Implementierungen aktivieren auch Anwendungsfeatures, um die Kompatibilität mit verschiedenem DSPs zu deklarieren. Wenn eine Funktion Kompatibilität mit DatabaseSchemaProvider deklariert, wird sie so entworfen, dass sie mit abstrakten Schnittstellen, z. B. IDatabaseTable und IDatabaseColumn, arbeitet. Wenn eine Funktion Kompatibilität mit einer konkreten Implementierung, z. B. Sql100DatabaseSchemaProvider, deklariert, wird es so entworfen, dass es mit abstrakten Schnittstellen, z. B. ISql100Table, arbeitet. Dieses Feature kann nur geladen werden, wenn das Projekt auch vom deklarierten kompatiblen Anbietertyp ist. Dies gibt der Funktion sicheren Zugriff auf die Funktionalität, die für die konkrete Implementierung spezifisch ist.

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

Microsoft.Data.Schema-Namespace

IExtension

Sql100DatabaseSchemaProvider

Sql90DatabaseSchemaProvider

IDatabaseTable

ISql100Table