Partilhar via


Classe DatabaseSchemaProvider

Fornece uma classe base para um conjunto de objetos de fábrica e os métodos de fábrica. Esses objetos e métodos são usados para instanciar objetos de serviço que estão relacionados ao esquema e script de modelagem que, juntos, representam o objeto de núcleo dos projetos de banco de dados na Visual Studio.

Hierarquia de herança

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

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

Sintaxe

'Declaração
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

O tipo DatabaseSchemaProvider expõe os membros a seguir.

Construtores

  Nome Descrição
Método protegido DatabaseSchemaProvider Inicializa uma nova instância de DatabaseSchemaProvider classe usando o construtor fornecido tipos.

Início

Propriedades

  Nome Descrição
Propriedade pública ExtensionManager Obtém o ExtensionManager para o projeto de banco de dados atual no Visual Studio Team System 2008 Database Edition.
Propriedade pública FamilyName Obtém o nome de um grupo de fornecedores.Por exemplo, o nome da família da família de SQL Server de provedores de banco de dados é "sql".
Propriedade pública ModelSchema Obtém o ModelSchema o objeto para o provedor.
Propriedade pública UserInteractionServices Quando implementado em uma classe derivada, obtém o UserInteractionServices o objeto para o provedor.

Início

Métodos

  Nome Descrição
Método público Equals Determina se o especificado Object é igual a atual Object. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele é recuperado pela coleta de lixo. (Herdado de Object.)
Método públicoMembro estático GetCompatibleDatabaseSchemaProviderType Retorna o Type que representa o tipo de provedor que é apropriado para a versão do banco de dados apontada pela seqüência de conexão fornecida e para o nome da família fornecido.
Método públicoMembro estático GetCompatibleDatabaseSchemaProviderTypes Retorna uma lista dos tipos de provedor são compatíveis com esse provedor.
Método público GetHashCode Serves as a hash function for a particular type. (Herdado de Object.)
Método público GetSchemaUpgradeXslt Quando implementado em uma classe derivada, retorna o XSLT para converter um modelo de esquema da versão fornecido para coincidir com o modelo de esquema atual.
Método público GetService<TService> Retorna um objeto de serviço instanciado que é registrado com esse provedor e identificado por fornecida Type.
Método público GetServiceConstructor<TServiceConstructor> Retorna um construtor para o serviço que é identificado pelo fornecida Type.
Método público GetType Obtém o Type da instância atual. (Herdado de Object.)
Método protegido MemberwiseClone Cria uma cópia superficial do atual Object. (Herdado de Object.)
Método protegido RegisterModelTypes Quando implementado em uma classe derivada, registra os tipos de modelo são encontrados no esquema do modelo fornecido.
Método público SchemaVersionSupported Retorna um valor que indica se a versão fornecida é o mesmo que um modelo de esquema ou se um XLST está disponível para converter o modelo de esquema para a versão fornecida.
Método público ToString Retorna um string que representa o objeto atual. (Herdado de Object.)

Início

Comentários

Use essa classe base para criar uma implementação concreta para um produto de banco de dados específico, como SQL Server, que é representado pela SqlDatabaseSchemaProvider classe. SqlDatabaseSchemaProvider serve como a classe base para cada um dos vários provedores de esquema de banco de dados (DSPs) versões específicas do SQL Server, como Sql100DatabaseSchemaProvider e Sql90DatabaseSchemaProvider.

Concretas implementações a DatabaseSchemaProvider para os vários produtos de banco de dados expõem a esses serviços de classe:

  • Analisa um arquivo de script em um modelo de script.

  • Interprete um modelo de script em um modelo de esquema.

  • Gere um modelo de script de um modelo de esquema.

  • Gere um arquivo de script de um modelo de script.

Além dessas capacidades de alto nível, os serviços mais detalhados são expostos, como, por exemplo, comparação de serviços e a interface do usuário (UI) ajudam para exibir nomes, ícones ou outros objetos de interface do usuário. Esses serviços detalhados são fornecidos pelo DataProviderServices classe.

DatabaseSchemaProviderimplementações também permitem que os recursos do aplicativo declarar a compatibilidade com vários DSPs. Por exemplo, se um recurso declara a compatibilidade com DatabaseSchemaProvider, esse recurso foi projetado para trabalhar com interfaces abstratas, como IDatabaseTable e IDatabaseColumn. Se um recurso declara a compatibilidade com uma implementação concreta, como Sql100DatabaseSchemaProvider, ele é projetado para trabalhar com interfaces abstratas, como ISql100Table. Esse recurso pode ser carregado somente se o projeto também é do tipo declarado provedor compatível. Isso permite o acesso seguro a recursos para funcionalidade específica para a implementação concreta.

Acesso thread-safe

Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.Data.Schema

IExtension

Sql100DatabaseSchemaProvider

Sql90DatabaseSchemaProvider

IDatabaseTable

ISql100Table