Войти



Поиск

Реклама

Костюмы Columbia! Нажмите сюда - модные мужские рубашки.;Световые занавесы для Нового года - световой дождь.

Полезное:

Новые статьи

Опечатка?

Выделите текст и нажмите Shift+Enter.
И мы в ближайшее время ее исправим!

Счетчики


Создание типизированных наборов данных

Если вы намерены исходить из существующей сохраняемой процедуры, поведение мастера будет немного отличаться. Вместо шага со спецификацией оператора SQL, показанного на 2.13, мастер отобразит страницу для выбора сохраняемой процедуры из списка, полученного от базы данных. После выбора сохраняемой процедуры диалог покажет вам параметры процедуры и возвращаемые ею столбцы.

Следующий шаг мастера в случае сохраняемой процедуры также несколько отличается. Вам будет предложено указать «форму», или схему данных, возвращаемых процедурой. Причина в том, что сохраняемая процедура может возвращать результирующие наборы даже в случаях, когда ее главное назначение состоит в выполнении вставки, обновления или удаления. Например, сохраняемая процедура может исполнять оператор SELECT, чтобы проверить, остались ли строки после попытки удаления. Из-за этого встроенного оператора SELECT сохраняемая процедура с точки зрения мастера возвращает данные. Однако мастер не знает, являются ли эти данные основной целью процедуры или просто чем-то порождаемым в процессе ее исполнения. Поэтому мастер на шаге, изображенном на 2.18, предложит выбрать, возвращает ли процедура табличные данные, одиночное значение или ничего.

Как вы могли убедиться, конструктор наборов данных, адаптеры таблиц и мастер конфигурирования запросов позволяют вам генерировать большой объем кода для реализации доступа к данным всего несколькими манипуляциями при помощи мыши. Для нашего простого примера с таблицами Customers, Orders и Order Details результат составил более 5000 строк генерированного кода. А ведь это весьма качественный, хорошо сформированный код. Теперь, когда вам не придется писать 5000 строк нудного, чреватого ошибками кода доступа к данным, вы можете заниматься реализацией конкретной логики и функциональных аспектов вашего приложения. Данный факт, по моему мнению, в сочетании с безопасностью типов, поддержкой IntelliSense и стройной архитектурой, которые обеспечиваются типизированными наборами данных, представляет колоссальный выигрыш для разработчика.

Создание типизированных наборов данных при помощи инструментов командной строки. Есть и другой путь для создания определений типизированных наборов данных, который может оказаться уместным в некоторых ситуациях, однако на этом пути придется обойтись без множества удобных вспомогательных средств, которые мы до сих пор описывали. Утилита командной строки XML Schema Support (xsd.exe), поставляемая в составе .NET Framework SDK, позволяет решать разные задачи, и в том числе — запустив ее для файла определения в виде XML Schema, генерировать по этой схеме определение класса типизированного набора данных. Здесь имеются ограничения в отношении исходной схемы — она должна допускать преобразование в простую реляционную схему данных.

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

Даже с учетом упомянутых ограничений эта утилита все же остается полезным инструментом, о котором стоит помнить: например, при создании распределенных приложений возможна ситуация, когда приложения будут передавать друг другу наборы данных, и у вас не будет доступа к той базе данных, откуда должны загружаться данные в набор. Или вам может потребоваться использовать типизированные наборы данных сами по себе, без какой либо базы данных, просто как компактную и мощную форму описания структуры деловой информации. Если вы получите от кого-то схему, описывающую структуру набора данных, или создадите такую схему самостоятельно, вы легко сгенерируете определение класса типизированного набора данных при помощи утилиты xsd.exe. Этот инструмент может выполнять также и другие функции, такие, как преобразование схем XML Data Reduced (XDR) в схемы XML Schema Definition (XSD), а также генерация классов на основе схемы (речь идет о простых классах для переноса данных, не относящихся к наборам данных).




Related news items:
Newer news items:
Older news items:

 
Главная Страница Контактная Информация Поиск по сайту Контактная Информация Поиск по сайту