Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СРС / Автономный режим / 7-Приложение с понятными именами полей

.docx
Скачиваний:
4
Добавлен:
28.06.2021
Размер:
245.78 Кб
Скачать

5

7. Приложение Book.v7 с понятными именами полей данных

Имена полей объектов базы данных часто не могут нормально восприниматься пользователями (английский язык, непонятные сокращения). В ADO.NET на основе объектов DataTableMapping и DataColumnMapping можно реализовать отображение, устанавливающее взаимно-однозначную трансляцию между именами столбцов результирующего набора и именами объектов DataColumn.

При заполнении DataSet адаптер данных просматривает свое свойство TableMappings, чтобы определить, указал ли разработчик правила отображения. По умолчанию свойство TableMappings пусто, так что имена столбцов, используемые в базе данных, применяются и в соответствующих объектах DataTable.

Для использования отображений необходимо создать объект DataTableMapping. Объект позволяет выполнять отображение между двумя именами одной таблицы, а кроме того, содержит свойство ColumnMappings – коллекцию объектов DataColumnMapping, выполняющих отображения имен различных столбцов таблицы. После создания объекта и добавления в него нужных отображений столбцов сам объект можно занести в свойство TableMappings объекта DataAdapter.

У класса DataTableMapping есть конструктор, принимающий две строки. Первая строка задает имя исходной таблицы и чувствительна к регистру. Это имя должно совпадать с именем таблицы, используемой при заполнении или обновлении, которое выполняет объект DataAdapter. Если не указать имя исходной таблицы, то объект DataAdapter назначает стандартное имя "Table". Второй параметр содержит имя объекта DataTable в DataSet. Объект DataTableMapping содержит коллекцию ColumnMappings, в нее должны входить все столбцы, которые требуется отобразить из базы данных в DataSet.

После создания объекта DataTableMapping в нем надо заполнить коллекцию ColumnMappings, которая должна содержать объекты DataColumnMapping. Объект DataColumnMapping содержит отношение между столбцом в базе данных и столбцом в DataSet. Для его создания нужно указать две строки: первая строка задает имя столбца в источнике данных, а вторая – имя столбца, видимое в DataSet:

mapOrder.ColumnMappings.Add(new DataColumnMapping("order_ID", "Код заказа"));

Резюме

Приложение идентично приложению Book.v6, но столбцы результирующего набора имеют понятные пользователю имена.

Достоинства приложения:

  • не используется постоянное соединение с базой данных;

  • имена полей объектов базы данных понятны пользователю.

Недостатки приложения:

  • из базы извлекаются нетипизированные данные (типа Object);

  • приложение не позволяет модифицировать данные.