Condividi tramite


Classe DatabaseSchemaProvider

Fornisce una classe di base per una famiglia di oggetti e metodi factory. Questi oggetti e metodi sono utilizzati per creare un'istanza di oggetti servizio correlati alla modellazione di schemi e script che, insieme, rappresentano l'oggetto principale di progetti di database in Visual Studio.

Gerarchia di ereditarietà

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

Spazio dei nomi:  Microsoft.Data.Schema
Assembly:  Microsoft.Data.Schema (in Microsoft.Data.Schema.dll)

Sintassi

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

Il tipo DatabaseSchemaProvider espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo protetto DatabaseSchemaProvider Inizializza una nuova istanza della classe DatabaseSchemaProvider utilizzando i tipi di costruttore specificati.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica ExtensionManager Ottiene l'oggetto ExtensionManager per il progetto di database corrente in Visual Studio Team System 2008 Database Edition.
Proprietà pubblica FamilyName Ottiene il nome di un gruppo di provider.Ad esempio, il nome della famiglia SQL Server di provider del database è "sql".
Proprietà pubblica ModelSchema Ottiene l'oggetto ModelSchema per questo provider.
Proprietà pubblica UserInteractionServices Se implementata in una classe derivata, ottiene l'oggetto UserInteractionServices per questo provider.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoMembro statico GetCompatibleDatabaseSchemaProviderType Restituisce l'oggetto Type che rappresenta il tipo di provider adatto per la versione del database a cui punta la stringa di connessione specificata e per il nome della famiglia in questione.
Metodo pubblicoMembro statico GetCompatibleDatabaseSchemaProviderTypes Restituisce un elenco di tipi di provider compatibili con questo provider.
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetSchemaUpgradeXslt Se implementato in una classe derivata, restituisce XSLT per convertire un modello di schema della versione specificata in modo tale che corrisponda al modello di schema corrente.
Metodo pubblico GetService<TService> Restituisce un oggetto servizio di cui è stata creata un'istanza che è registrato con questo provider e identificato dall'oggetto Type specificato.
Metodo pubblico GetServiceConstructor<TServiceConstructor> Restituisce un costruttore per il servizio identificato dall'oggetto Type specificato.
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protetto RegisterModelTypes Se implementato in una classe derivata, registra i tipi di modello trovati nello schema del modello specificato.
Metodo pubblico SchemaVersionSupported Restituisce un valore che indica se la versione specificata è uguale a quella del modello di schema o se XSLT è disponibile per convertire il modello di schema nella versione specificata.
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Note

Utilizzare questa classe di base per creare un'implementazione concreta per un prodotto database specifico come SQL Server, rappresentato dalla classe SqlDatabaseSchemaProvider. SqlDatabaseSchemaProvider è utile come classe di base per ognuno dei diversi provider dello schema di database (DSP) per versioni specifiche di SQL Server, come Sql100DatabaseSchemaProvider e Sql90DatabaseSchemaProvider.

Implementazioni concrete della classe DatabaseSchemaProvider per i vari prodotti del database espongono questi servizi:

  • Analizzare un file di script in un modello di script.

  • Interpretare un modello di script in un modello dello schema.

  • Generare un modello di script da un modello di schema.

  • Generare un file di script da un modello di script.

Oltre a queste possibilità di alto livello, vengono esposti servizi più dettagliati, quali servizi di confronto e guida dell'interfaccia utente (UI) per nomi, icone o altri oggetti visualizzati dell'interfaccia utente. Questi servizi dettagliati sono forniti dalla classe DataProviderServices.

Le implementazioni DatabaseSchemaProvider abilitano anche le funzionalità dell'applicazione per dichiarare compatibilità con vari DSP. Ad esempio, se una funzionalità dichiara compatibilità con DatabaseSchemaProvider, quella funzionalità viene progettata per funzionare con interfacce astratte quali IDatabaseTable e IDatabaseColumn. Se una funzionalità dichiara compatibilità con un'implementazione concreta quale Sql100DatabaseSchemaProvider, quella funzionalità viene progettata per funzionare con interfacce astratte come ad esempio ISql100Table. Tale funzionalità può essere caricata solo se il progetto è anche del tipo di provider compatibile dichiarato. Questo dà la caratteristica accesso sicuro alla funzionalità che è specifica dell'implementazione concreta.

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.Data.Schema

IExtension

Sql100DatabaseSchemaProvider

Sql90DatabaseSchemaProvider

IDatabaseTable

ISql100Table