Home > Data Management > Типизированый DataSet

Типизированый DataSet

Выбрать данные, показать, покрутить и записать обратно – наверное самая обыденная и частовстречаемая операция в “бытовом” программировании. Впринципе, все довольно тривиально. Каким бы ни был механизм получения данных – через веб-сервисы, из базы данных или из файла, – проще всего создать DataSet/DataTable, наполнить его полученными данными и потом уже привязать к какому-либо визуальному компоненту.

Чаще всего, этого и хватает, но все же такой подход чреват следующими проблемами:

  • Обращение к данным в строке происходит по индексу либо по названию колонки. А вдруг в запросе к данным изменится порядок колонок или вообще поменяются выбираемые колонки? При любых изменениях тяжело отследить корректность обращений к данным.
  • Приходится обходиться без помощи IntelliSense.
  • Очень легко ошибиться с типами данных полей, причем ошибка выявляется только в runtime.

Чтобы жизнь стала немного легче, можно создать типизированый DataSet, который по сути является оберткой над данными, с которыми нужно работать. Для этого есть 2 пути. Если нужно создавать DataSet “с нуля” – просто добавляем к проекту новый DataSet.

Добавление DataSet

Добавление DataSet

Если же есть уже готовый xml-файл из которого нужно вычитывать информацию, то включаем его в проект, и создаем на его основе xml-схему (.xsd). Далее сделаем маленькую хитрость. В свойствах схемы в поле Custom Tool вводим “MSDataSetGenerator”, после чего автоматически сгенерируется DataSet на основе схемы данных.

Properties / Custom Tool

Properties / Custom Tool

 

Чтобы полностью восстановить функциональность DataSet’а, созданного первым способом (например, визуальное редактирование структуры данных), кликаем правой клавишей мыши на схеме, выбираем Open With.. и в появившемся окне выбираем DataSet Editor, после чего можно будет в довольном представлении добавлять таблицы, связи и так далее.

Открываем схему с помощью ..

Открываем схему с помощью ..

.. DataSet Editor

.. DataSet Editor

Использовать этот подход при написании aspx-страниц не получится. В таком случае к проекту страницы нужно добавлять еще один проект Class Library, в котором и создавать типизированный DataSet. При этом нужно учесть, что добавленный проект будет компилироваться в отдельную библиотеку и не забывать об этом при деплое страницы.

Веб-страница и служебная библиотека

Веб-страница и служебная библиотека

Let the Source be with you

Advertisements
Categories: Data Management Tags: , , ,
  1. 18.08.2009 at 13:25

    Занятно! Со смартфона немного тяжело читается, но оно того стоит!

  2. 20.08.2009 at 10:27

    Не совсем уловил некоторые моменты, но вообще интересно 🙂

  3. 12.11.2009 at 01:37

    Вот именно с этой статьи начинаю читать Ваш блог. Плюс 1 подписчик 🙂

  4. 26.12.2009 at 00:53

    Без преувеличения можно точно сказать, что пост тему раскрыл на все 100 процентов. 🙂

  5. 28.12.2009 at 04:19

    Спасибочки, что просветили. Никогда бы не подумал 🙂

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: