архитектура расширяемости конструктора данных

Расширяемость конструктора данных (DDEX) обеспечивает механизм для расширения конструкторов в пределах Visual Studio связи с внешними источниками данных и предоставить их иерархии объектов и представления в иерархии Обозреватель серверов. DDEX позволяет получить доступ к внешнему объектам источника данных во время разработки, а не только что видимость объектов данных в Visual Studioэту функциональность, но также включить видимость сетки свойств объекта, а также интеграция в функции Visual Studio конструкторы. Иными словами, DDEX позволяет сторонним поставщикам источников данных для насладиться полным подданством в Visual Studio взаимодействие во время разработки.

Примечание

Поставщики DDEX отличается от поставщиков данных .NET.Дополнительные сведения см. в разделе поставщики DDEX.

Расширяемость конструктора данных, затем об использовании и архитектура DDEX SDK API функций и управляемого для интеграции внешние объекты источника данных Visual Studio среда.

Примечание

Это пакет SDK следует использовать совместно с интеграция SDK Visual Studio.

Общие сведения об архитектуре

На рисунке ниже предоставляет высокий уровень, концептуальное представление архитектура DDEX. В нем видно, что клиент размещен внутри DDEX Visual Studioи его используют службы доступа и основные (часть библиотеки классов DDEX управляемой) для связи и взаимодействия с поставщиком DDEX. Поставщик является просто DDEX реализация поддержки управляемые классы сущностей, которые. DDEX затем взаимодействует с уровнем данных, используя соответствующий поставщик данных .NET. Однако следует отметить, что поставщик данных может быть пропущено в случаях, когда поставщик DDEX оборудован при возможности, необходимые для взаимодействия с источником данных.

Диаграмма архитектуры DDEX

Архитектура DDEX

Уровня DDEX, 2 центральна ее частей: Сущности и службы поддержки DDEX DDEX.

Сущности, базовые службы и службы доступа

Сущности поддержки DDEX поставщик реализует интерфейсы, вызываемые DDEX, чтобы обеспечить расширяемость данных. В действительности, реализация поддержки этих сущностей, которая представляет собой поставщика DDEX.

Службы DDEX, с другой стороны, сломленны вверх в базовые службы доступа и службы. Базовые службы базовые службы, которые доступны через сущности поддержки. Эти интерфейсы, реализованные как управляемые классы то для внутреннего использования Visual Studio вызов метода для создания сущности верхнего уровня поддержки поставщика DDEX и работать с поставщиками данных и источниками данных. Доступ к службам, которые также интерфейсы, реализованные как изнутри управляемых классов, укажите Visual Studio возможность создания и работы с подключениями к данным и иметь доступ к представлениям структуры данных в памяти представления XML и поддержки объекта данных поддерживают XML. Кроме того, сущности поддержки потребления служб доступа.

На рисунке ниже показана связь между сущностями и службами поддержки более подробно.

Схема сущностей и службы поддержки Access

Сопоставление изображения API

Сущности поддержки

Управляемые интерфейсы API, которые составляют падение поставщика DDEX интенсивно в 3 категории:

  • Поддержка подключения

  • Поддержка объекта данных

  • Поддержка представления данных

Поддержка подключения

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

Поддержка объекта данных

Использование xml-файла поддержки объекта данных, поставщик DDEX определяет объекты данных, предоставляемые поставщиком данных для заданного источника данных. Он также определяет иерархию объектов или объектную модель для этих объектов.

Visual Studio ядро метаданных поддерживает библиотеку строго типизированных классов, обеспечивающих ее для распознавания универсальный шаблон объект источника данных, таких как таблицы, представления и хранимые процедуры, а также родовых свойств объекта, он уменьшает к сопоставленным типам. Определения объекта данных, предоставленных в XML-файл позволяют типам объектов сопоставления, поддерживаемых поставщиком данных в один из этих универсальных типов, ядром метаданных.

Помимо указания типов объектов и сопоставить их с универсальным типам, схема поддержки объекта данных также должна определить следующее:

  • Списке Как объекты заданного типа, который выполняется путем задания обработчик, который вызывается при перечислении объект.

  • Извлечение метаданных объекта метаданных, например идентификатор объекта или свойства объекта.

  • Построение объект буфера обмена в случаях, когда операция копирования выполняется для объекта заданного типа. Visual Studio конструкторы данных используется формат буфера обмена ссылок на источники данных (DSRef). Объекты, поддерживающие DSRef может быть на перетащить-и-удалить Visual Studio конструкторы данных.

Дополнительные сведения о поддержке объекта данных см. в разделе поддержка объекта данных DDEX.

Поддержка вид данных

Использование xml-файла поддержки представления данных, поставщик DDEX указывающее физическую иерархии объектов данных, отображаемых в заданном узле подключения в Visual Studio Обозреватель серверов. Можно указать несколько представлений для одного и того же источника данных.

Помимо указания иерархию физического объекта можно также указать дополнительную информацию об узлах иерархии, включая, например локализованное отображаемое имя команды контекстного меню (имя команды, CLSID, а обработчик), значки и другие сведения, как требуется.

Дополнительные сведения о поддержке представления данных см. в разделе поддержка представления данных DDEX.

Базовые службы

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

Наиболее важных базовые службы включают следующее:

  • Диспетчер поставщика позволяет получить список зарегистрированных поставщиков и запрос для объектов определенного типа (DDEXIVsDataProviderManager интерфейс).

  • Фабрика объекта поставщика данных предоставляет способ создания объектов данных, реализованных поставщиком (DDEXIVsDataProviderObjectFactory интерфейс).

Базовые службы позволяют DDEX Visual Studio связи с источниками данных в контексте время разработки. Для этого необходимо иметь компоненты, которые обслуживают подключение к источнику данных, а также иметь набор специализированных служб, предоставляющих доступ к типам объектов источника данных и их представления иерархических структурах.

В типичной реализации клиент вызывает DDEX в производственной среде объекта поставщика данных для создания ключевых шаблоны. Эти шаблоны включают ключевые объекты поддержки подключение-здания и соединения (см. схему сущностей и поддержки служб Access services). Некоторые из этих объектов шаблона затем создают вторичные объекты, такие как, необходимые для поддержки вниз в иерархии сущностей.

Data Access

DDEX предоставляет набор интерфейсов, которые реализуются внутренне как управляемые классы, Visual Studio вызовы для доступа к функции для подключения к данным, а хранимые в памяти представления объекта данных поддерживают XML и XML поддержки представления данных. В совокупности эти интерфейсы известны как службы доступа DDEX.

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

  • Фабрика подключения к данным позволяет создать объекты соединения (IVsDataConnectionFactory интерфейс).

  • Диалоговое окно " подключение к данным используется для запроса у пользователя сведений о соединении и создания объектов соединения (IVsDataConnectionDialog интерфейс).

Можно просматривать соединение с источником данных (и его ключевые компоненты, такие как фабрика диспетчера соединений и соединений) как интегрированная служба proffered платформы расширяемости данных. В этом представлении Visual Studio ядро метаданных действует как клиент подключения, с помощью api-интерфейса служб Access, которые, в свою очередь, вызывающие в соответствующие сущности поддержки. Это механизм, с помощью которого Visual Studio собирает структуру поддержки для обслуживания соединение с источником данных.

Перекрытие между сущностями служб Access

Основное различие между сущностями поддержки и службами доступа расширяемости, что клиенты используют службы доступа (основной объект соединения), которые, в свою очередь, взаимодействующие с поставщиком DDEX. При просмотре из противоположного направления поставщики взаимодействуют с соединением с помощью api-интерфейса сущностей поддержки.

В некоторых случаях роли служб доступа и сущности поддержки перекрываются, в частности, где необходимо обеспечить потокобезопасность. Архитектура DDEX предоставляет безопасный блокируя уровень между поставщиком данных и клиентом соединения для этой цели. Следующий пример иллюстрирует эту функцию.

При получении, например IVsDataCommand служба из объекта соединения, а не получение командный объект данных, объект соединения вместо возвращает реализацию учетной записи-посредника IVsDataCommand интерфейс. Реализация учетной записи-посредника взаимодействует с сущностью, которая реализует ее поддержки. кроме того, реализация прокси-сервера потокобезопасной. Таким образом, учетная запись-посредник сначала блокирует соединения, а затем вызывает метод вниз в сущности поддержки; после завершения работы с соединением, его снова Разблокирует соединение, освобождая блокировку потока.

В этом примере IVsDataCommand интерфейс реализован как служба доступа (в этом клиент вызывает его напрямую), но также ведет себя как сущность поддержки, в котором поставщик данных реализован один и тот же интерфейс, и что результат создание безопасного блокируя уровня между поставщиком и клиентом соединения.

Документация по DDEX

Пакет SDK DDEX предоставляет полную документацию справочника по языку.

Схема XML поддержки объекта данных

Используйте схему поддержки объекта данных (DataObjectSupport.xsd) для программного управления и перечислить экземпляры объектов источника данных. Дополнительные сведения об объектах данных см. в разделе поддержка объекта данных DDEX.

Схема XML поддержки вид данных

Используйте схему поддержки представления данных (DataViewSupport.xsd) для управления одним или более широкого представления структуры иерархии объектов данных в том виде, в котором оно отображается в обозревателе сервера. Дополнительные сведения о представлениях данных см. в разделе поддержка представления данных DDEX.

Управляемая справочник по библиотеке классов

Пакет SDK DDEX предоставляют набор управляемых интерфейсов и базовые классы, которые позволяют написать управляемый поставщик DDEX.

См. также

Основные понятия

Общие сведения и представления данных

поставщики DDEX

поддержка объекта данных DDEX