Share via


DatabaseSchemaProvider, classe

Fournit une classe de base pour une suite d'objets et de méthodes de fabrique. Ces objets et méthodes sont utilisés pour instancier des objets de service liés à la modélisation de schéma et de script qui, ensemble, représentent l'objet principal de projets de base de données dans Visual Studio.

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.Data.Schema
Assembly :  Microsoft.Data.Schema (dans Microsoft.Data.Schema.dll)

Syntaxe

'Déclaration
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

Le type DatabaseSchemaProvider expose les membres suivants.

Constructeurs

  Nom Description
Méthode protégée DatabaseSchemaProvider Initialise une nouvelle instance de la classe DatabaseSchemaProvider à l'aide des types de constructeur fournis.

Début

Propriétés

  Nom Description
Propriété publique ExtensionManager Obtient ExtensionManager pour le projet de base de données actuel dans Visual Studio Team System 2008 Database Edition.
Propriété publique FamilyName Obtient le nom d'un groupe de fournisseurs.Par exemple, le nom de famille de la famille SQL Server de fournisseurs de base de données est "sql".
Propriété publique ModelSchema Obtient l'objet ModelSchema pour ce fournisseur
Propriété publique UserInteractionServices En cas d'implémentation dans une classe dérivée, obtient l'objet UserInteractionServices pour ce fournisseur.

Début

Méthodes

  Nom Description
Méthode publique Equals Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiqueMembre statique GetCompatibleDatabaseSchemaProviderType Retourne le Type qui représente le type de fournisseur qui est approprié pour la version de la base de données vers laquelle pointe la chaîne de connexion fournie et pour le nom de famille fourni.
Méthode publiqueMembre statique GetCompatibleDatabaseSchemaProviderTypes Retourne une liste des types de fournisseur qui sont compatibles avec ce fournisseur.
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetSchemaUpgradeXslt En cas d'implémentation dans une classe dérivée, retourne XSLT pour convertir un modèle de schéma de la version fournie de manière à correspondre au modèle de schéma actuel.
Méthode publique GetService<TService> Retourne un objet de service instancié qui est inscrit auprès de ce fournisseur et identifié par le Type fourni.
Méthode publique GetServiceConstructor<TServiceConstructor> Retourne un constructeur pour le service qui est identifié par le Type fourni.
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode protégée RegisterModelTypes En cas d'implémentation dans une classe dérivée, inscrit les types de modèle trouvés dans le schéma de modèle fourni.
Méthode publique SchemaVersionSupported Retourne une valeur qui indique si la version fournie est la même que celle du modèle de schéma ou si un XLST est disponible pour convertir le modèle de schéma vers la version fournie.
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)

Début

Notes

Utilisez cette classe de base pour créer une implémentation concrète pour un produit de base de données spécifique tel que SQL Server, représenté par la classe SqlDatabaseSchemaProvider. SqlDatabaseSchemaProvider sert de classe de base pour chacun des fournisseurs de schémas de base de données pour des versions spécifiques de SQL Server, notamment Sql100DatabaseSchemaProvider et Sql90DatabaseSchemaProvider.

Les implémentations concrètes de la classe DatabaseSchemaProvider pour les différents produits de base de données exposent ces services :

  • Analysez un fichier de script dans un modèle de script.

  • Interprétez un modèle de script dans un modèle de schéma.

  • Générez un modèle de script d'un modèle de schéma.

  • Générez un fichier de script d'un modèle de script.

En plus de ces capacités supérieures, des services plus détaillés sont exposés, tels que des services de comparaison et l'aide d'interface utilisateur (UI) pour les noms d'affichage, les icônes ou les autres objets d'interface. Ces services détaillés sont fournis par la classe DataProviderServices.

Les implémentations DatabaseSchemaProvider permettent également aux fonctionnalités de l'application de déclarer la compatibilité avec différents DSP. Par exemple, si une fonctionnalité déclare la compatibilité avec DatabaseSchemaProvider, cette fonctionnalité est conçue pour utiliser des interfaces abstraites telles que IDatabaseTable et IDatabaseColumn. Si une fonctionnalité déclare la compatibilité avec une implémentation concrète telle que Sql100DatabaseSchemaProvider, elle est conçue pour utiliser des interfaces abstraites telles que ISql100Table. Cette fonctionnalité peut être chargée uniquement si le projet est également du type du fournisseur compatible déclaré. Cela donne à la fonctionnalité un accès sécurisé aux fonctionnalités qui sont spécifiques à l'implémentation concrète.

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.Data.Schema, espace de noms

IExtension

Sql100DatabaseSchemaProvider

Sql90DatabaseSchemaProvider

IDatabaseTable

ISql100Table