Категории
Войти
Поиск
Реклама
Полезное:
Новые статьи
Опечатка?
Выделите текст и нажмите Shift+Enter.
И мы в ближайшее время ее исправим!
Счетчики
| Введение в адаптеры таблиц |
|
Как вы видели в нижней части определения таблицы на 2.7, там было нечто с именем CustomersTableAdapter, для которого были показаны методы с именами Fill и GetData. Этот дополнительный класс, который генерируется для каждой таблицы в типизированном наборе, называется адаптером таблицы. Адаптер таблицы, появившийся в .NET 2.0, в огромной степени расширяет возможности работы с типизированными наборами данных. Как уже упоминалось в этой главе, до появления.NET 2.0, если вы хотели загрузить в набор данные из источника или сбросить изменения в наборе данных обратно в источник, приходилось использовать адаптер данных. Это возлагало на вас ответственность за корректное создание команд адаптера, которые будут соответствующим образом заполнять столбцы и сбрасывать обратно изменения. Также это означало, что вы должны были конструировать отдельные адаптеры или программно корректировать эти команды, если хотели использовать тот же набор данных с другими запросами SELECT для его заполнения. Наконец, вам приходилось заботиться о том, чтобы данные от определяемых вами запросов попадали в соответствующие им таблицы в типизированном наборе данных. Иными словами, работа с адаптерами данных оставляет желать много лучшего. В сущности, вы оставались один на один с задачей написания массы кода, необходимого для создания согласованного и хорошо спроектированного уровня доступа к данным, который мог бы работать с типизированными наборами данных. Адаптеры таблиц предназначены для того, чтобы разрешить большинство (если не все) из тех проблем, с которым сталкивались разработчики, имея дело с адаптерами данных и сильно типизированными наборами данных, и они могут сэкономить вам массу времени, затраченного на написание кода управления данными посредством типизированных наборов. Адаптер таблицы дает вам готовый компонент доступа к данным для управления данными из отдельной таблицы вашего набора. Когда вы перетаскиваете таблицу из окна Server Explorer в пространство конструктора наборов данных, или же когда типизированный набор данных генерируется при помощи мастера конфигурации источника данных (обсуждаемого в следующей главе), вместе с классами набора, таблицы и строки данных генерируется также класс адаптера таблицы. Для таблицы генерируются запросы SELECT, INSERT, UPDATE и DELETE, которые облекаются в объекты команд внутри адаптера таблицы таким образом, что вы можете исполнять эти запросы через открытые методы адаптера. Адаптер таблицы также инкапсулирует в себе адаптер данных; он ассоциирует объекты команд с адаптером данных и, таким образом, таблица соответствующего типа загружается и обновляет базу данных через адаптер таблицы. Все эти детали остаются скрытыми, если только вы специально ими не интересуетесь, и вы можете сконцентрировать внимание на открытых методах, экспонируемых адаптером таблицы, которые позволяют исполнять запросы к соответствующей таблице. Листинг 2.4 показывает сокращенную версию кода адаптера таблицы, генерированного конструктором для таблицы Customers в базе данных Northwind. Чтобы происходящее было яснее, были удалены некоторые закрытые элементы класса и подчищены имена типов. Вы сразу обратите внимание на то, что класс адаптера таблицы определен в пространстве имен, являющемся дочерним для пространства имен того проекта, в котором вы создаете типизированный набор данных. В данном случае имя проекта - NorthwindDataAccess, и объявляется дочернее пространство имен NorthwindDataAccess. CustomersDataSetTableAdapters, где и создается класс адаптера таблицы. Класс адаптера таблицы производится по умолчанию от базового класса Component пространства имен System.ComponentMo-del. Если вы хотите произвести его от другого базового класса, то можете изменить свойство BaseClass, когда в конструкторе наборов данных Visual Studio выбран нужный адаптер таблицы.
Newer news items:
Older news items:
|
