Поделиться через


DatabaseSchemaProvider - класс

Предоставляет базовый класс для набора объектов и методов фабрик. Эти объекты и методы используются для создания объектов служб, связанных с моделированием схем и скриптов, которые совместно представляют базовый объект проектов баз данных в Visual Studio.

Иерархия наследования

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

Пространство имен:  Microsoft.Data.Schema
Сборка:  Microsoft.Data.Schema (в Microsoft.Data.Schema.dll)

Синтаксис

'Декларация
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

Тип DatabaseSchemaProvider предоставляет следующие члены.

Конструкторы

  Имя Описание
Защищенный метод DatabaseSchemaProvider Инициализирует новый экземпляр класса DatabaseSchemaProvider, используя предоставленные типы конструктора.

В начало страницы

Свойства

  Имя Описание
Открытое свойство ExtensionManager Получает свойство ExtensionManager для текущего проекта базы данных в Visual Studio Team System 2008 Database Edition.
Открытое свойство FamilyName Получает имя группы поставщиков.Например, имя семейства "sql" для семейства SQL Server базы данных поставщиков.
Открытое свойство ModelSchema Получает объект ModelSchema для этого поставщика.
Открытое свойство UserInteractionServices При реализации в производном классе получает объект UserInteractionServices для этого поставщика.

В начало страницы

Методы

  Имя Описание
Открытый метод Equals Определяет, равен ли заданный объект Object текущему объекту Object. (Унаследовано от Object.)
Защищенный метод Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Открытый методСтатический член GetCompatibleDatabaseSchemaProviderType Возвращает свойство Type, представляющее тип поставщика, который соответствует версии базы данных, указанной в строке подключения для предоставленного имени семейства.
Открытый методСтатический член GetCompatibleDatabaseSchemaProviderTypes Возвращает список типов поставщика, которые совместимы с этим поставщиком.
Открытый метод GetHashCode Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)
Открытый метод GetSchemaUpgradeXslt При реализации в производном классе возвращает XSLT для преобразования предоставленной версии модели схемы в модель схемы, соответствующей текущей.
Открытый метод GetService<TService> Возвращает создаваемый экземпляр объекта службы, зарегистрированный с использованием этого поставщика и идентифицируемый предоставляемым объектом Type.
Открытый метод GetServiceConstructor<TServiceConstructor> Возвращает конструктор для службы, которая определена предоставленным объектом Type.
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Защищенный метод MemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Защищенный метод RegisterModelTypes При реализации в производном классе регистрирует типы модели, найденные в предоставленной схеме модели.
Открытый метод SchemaVersionSupported Возвращает значение, которое показывает, соответствует ли предоставленная версия версии модели схемы или доступно преобразование модели схемы в предоставленную версию с использованием XLST.
Открытый метод ToString Возвращение строки, представляющей текущий объект. (Унаследовано от Object.)

В начало страницы

Заметки

Базовый класс используется для создания конкретной реализации для определенного продукта базы данных, например, SQL Server, который представлен классом SqlDatabaseSchemaProviderSqlDatabaseSchemaProvider служит в качестве базового класса для каждого из нескольких поставщиков схемы базы данных (DSPs) для конкретных версий SQL Server, например Sql100DatabaseSchemaProvider и Sql90DatabaseSchemaProvider.

Конкретные реализации класса DatabaseSchemaProvider для различных продуктов баз данных предоставляют следующие службы:

  • Выполните синтаксический анализ файла скрипта в модель сценария.

  • Интерпретируйте модель скрипта в модель схемы.

  • Сгенерируйте модель скрипта из модели схемы.

  • Сгенерируйте файл скрипта из модели скрипта.

В дополнение к этим высокоуровневым возможностям предоставляются более подробные службы, такие как службы сравнения и справка пользовательского интерфейса по отображаемым именам, значкам и другим объектам пользовательского интерфейса. Эти подробные службы предоставляются классом DataProviderServices.

Реализации DatabaseSchemaProvider также позволяют компонентам приложений объявлять совместимость с различными DSP. Например, если функция объявляет совместимость с DatabaseSchemaProvider, эта функция предназначена для работы с абстрактными интерфейсами, такими как IDatabaseTable и IDatabaseColumn. Если функция объявляет совместимость с конкретной реализацией, например Sql100DatabaseSchemaProvider, она предназначена для работы с абстрактными интерфейсами, такими как ISql100Table. Этот компонент может быть загружен, только если проект также имеет тип объявленного совместимого поставщика. Это обеспечивает функции безопасный доступ к функциональным возможностям, относящимся к конкретной реализации.

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

Microsoft.Data.Schema - пространство имен

IExtension

Sql100DatabaseSchemaProvider

Sql90DatabaseSchemaProvider

IDatabaseTable

ISql100Table