Compartir a través de


DatabaseSchemaProvider (Clase)

Proporciona una clase base para un conjunto de objetos y métodos de generador. Estos objetos y métodos se usan para crear instancias de los objetos de servicio que están relacionados con el modelado de esquemas y scripts que, conjuntamente, representan el objeto básico de los proyectos de base de datos en Visual Studio.

Jerarquía de herencia

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

Espacio de nombres:  Microsoft.Data.Schema
Ensamblado:  Microsoft.Data.Schema (en Microsoft.Data.Schema.dll)

Sintaxis

'Declaración
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

El tipo DatabaseSchemaProvider expone los siguientes miembros.

Constructores

  Nombre Descripción
Método protegido DatabaseSchemaProvider Inicializa una nueva instancia de la clase DatabaseSchemaProvider usando los tipos de constructor proporcionados.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública ExtensionManager Obtiene el objeto ExtensionManager para el proyecto de base de datos actual en Visual Studio Team System 2008 Database.
Propiedad pública FamilyName Obtiene el nombre de un grupo de proveedores.Por ejemplo, el nombre de la familia de proveedores de base de datos de SQL Server es "sql".
Propiedad pública ModelSchema Obtiene el objeto ModelSchema para este proveedor.
Propiedad pública UserInteractionServices Cuando se implementa en una clase derivada, obtiene el objeto UserInteractionServices para este proveedor.

Arriba

Métodos

  Nombre Descripción
Método público Equals Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoMiembro estático GetCompatibleDatabaseSchemaProviderType Devuelve el objeto Type que representa el tipo de proveedor que es adecuado para la versión de la base de datos a la que apunta la cadena de conexión proporcionada y para el nombre de familia proporcionado.
Método públicoMiembro estático GetCompatibleDatabaseSchemaProviderTypes Devuelve una lista de tipos de proveedores que son compatibles con este proveedor.
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público GetSchemaUpgradeXslt Cuando se implementa en una clase derivada, devuelve XSLT para convertir un modelo de esquema de la versión proporcionada de forma que coincida con el modelo de esquema actual.
Método público GetService<TService> Devuelve un objeto de servicio con instancias registrado con este proveedor e identificado por el objeto Type proporcionado.
Método público GetServiceConstructor<TServiceConstructor> Devuelve un constructor para el servicio identificado por el objeto Type proporcionado.
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método protegido RegisterModelTypes Cuando se implementa en una clase derivada, registra los tipos de modelo encontrados en el esquema de modelo proporcionado.
Método público SchemaVersionSupported Devuelve un valor que indica si la versión proporcionada es igual que el modelo de esquema o si hay un XLST disponible para convertir el modelo de esquema a la versión proporcionada.
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).

Arriba

Comentarios

Use esta clase base para crear una implementación concreta para un producto de base de datos concreto como SQL Server, que está representado por la clase SqlDatabaseSchemaProvider. SqlDatabaseSchemaProvider actúa como la clase base para cada uno de los proveedores de esquema de base de datos (DSP) en versiones concretas de SQL Server, como Sql100DatabaseSchemaProvider y Sql90DatabaseSchemaProvider.

Las implementaciones concretas de la clase DatabaseSchemaProvider para los varios productos de la base de datos exponen estos servicios:

  • Analice un archivo de script en un modelo de script.

  • Interprete un modelo de script en un modelo del esquema.

  • Genera un modelo de script a partir de un esquema de script.

  • Genera un archivo de script a partir de un modelo de script.

Además de estas capacidades de alto nivel, se exponen más servicios detallados, como los servicios de comparación y ayuda de la interfaz de usuario para los nombres para mostrar, iconos u otros objetos de la interfaz de usuario. La clase DataProviderServices proporciona estos servicios detallados.

Las implementaciones DatabaseSchemaProvider también permiten a las características de aplicación declarar la compatibilidad con varios DSP. Por ejemplo, si una característica declara la compatibilidad con DatabaseSchemaProvider, esa característica está diseñada para trabajar con interfaces abstractas como IDatabaseTable y IDatabaseColumn. Si una característica declara la compatibilidad con una implementación concreta como Sql100DatabaseSchemaProvider, está diseñada para trabajar con interfaces abstractas como ISql100Table. Se puede cargar esa característica sólo si el proyecto también es del tipo de proveedor compatible declarado. Esto proporciona a la característica acceso seguro a la funcionalidad que es específica de la implementación concreta.

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también

Referencia

Microsoft.Data.Schema (Espacio de nombres)

IExtension

Sql100DatabaseSchemaProvider

Sql90DatabaseSchemaProvider

IDatabaseTable

ISql100Table