Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 254

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 248 249 250 251 252 253 < 254 > 255 256 257 258 259 260 .. 320 >> Следующая

Доступ к данным ^ ^ при помощи ADO.NET J ~
Если только вы не занимаетесь исключительно созданием «стрелялок*-, вам, скорее всего, потребуется обращаться к базам данных. Как, наверное, вы уже догадываетесь, в платформе .NET определено множество типов (организованных в соответствующие пространства имен), которые помогут нам обеспечить взаимодействие
с локальными и удаленными хранилищами данных. Общее название пространств имен с этими типами — ADO.NET. Как мы увидим, это — не просто перенос классической модели ADO на платформу .NET, но ее коренная переработка.
В начале этой главы будут рассмотрены некоторые наиболее важные типы из пространства имен System. Data — такие как DataCol umn, DataRow и DataTabl е. Эти классы
обеспечивают возможность взаимодействия с наборами данных, помещенных в
память локального компьютера. После этого мы подробно ознакомимся с главным типом ADO.NET — DataSet. DataSet — это помещаемое в память компьютера представление о наборе взаимосвязанных таблиц. Мы узнаем, каким образом можно программно моделировать отношения между таблицами, создавать пользовательские представления и производить запросы. После этого мы узнаем, как можно создавать объекты Dataset, заполненные данными из распространенных СУБД, таких как MS SQL Server, Oracle и MS Access. В самом конце главы мы рассмотрим концепцию управляемых поставщиков (managed providers) .NET и типы Ol eDbOataAdapter и SqlDataAdapter.
Почему потребовалось создавать ADO.NET
что необходимо сказать про ADO.NET, — то, что это не просто улучшенная и расширенная версия классического ADO. У традиционного ADO и ADO.NET существуют как схожие черты (концепция объектов «соединения» и «командных» объектов), так и существенные различия (к примеру, в ADO.NET вы уже не найдете такого важного типа, как Recordset). Самые важные типы ADO.NET, в свою очередь, не имеют эквивалентов в мире классического ADO (это справедливо, например, для DataSet).
630 Глава 13 • Доступ к данным при помощи ADO.NET
ADO.NET — это новая технология доступа к базам данных, специально оптимизированная для нужд построения рассоединенных (disconnected) систем на платформе .NET. Разработчики ADO.NET ориентировались на приложения N-tier -архитектуру многоуровневых приложений, которая в настоящее время стала фактически стандартом для создания распределенных систем.
Подчеркнем отличия классического ADO от ADO.NET: «старое» ADO было ориентировано прежде всего на создание клиент-серверных приложений, когда клиент и сервер должны постоянно взаимодействовать друг с другом. ADO.NET расширяет концепцию объектов-наборон записей в базе данных новым типом DataSet, который представляет локальную копию сразу множества взаимосвязанных таблиц. При помощи объекта DataSet пользователь может локально производить различные операции с содержимым базы данных, будучи физически рассоединен с СУБД, и после завершения этих операций передавать внесенные изменения в базу данных при помощи соответствующего «адаптера данных» (data adapter).
Еще одно существенное различие между «просто ADO» и ADO.NET заключается в том, что в ADO.NET реализована полная поддержка представления данных в XML-совместимых форматах. Если заглянуть «внутрь» ADO.NET, то выяснится, что закачанные для локальной обработки наборы данных представлены именно как XML (в этом же формате они и передаются с сервера баз данных). Поскольку данные в форматах XML очень удобно передавать при помощи обычного HTTP, сразу же решаются многие проблемы с установлением соединений через брандмауэры.
В классическом ADO для перемещения данных между уровнями использовался протокол маршалинга СОМ. Этот протокол имеет множество неоспоримых преимуществ, но у него есть и серьезные ограничения. Например, большинство брандмауэров не будут пропускать пакеты RPC при установлении соединений по этому протоколу, в результате чего развертывание многоуровневого приложения в реальных условиях предприятия может оказаться очень непростой задачей.
Еще одно важнейшее различие между классическим ADO и ADO.NET заключается втом, 4toADO.NET - это библиотека управляемого кода и взаимодействие с ней производится как с обычной сборкой .NET. Типы ADO.NET используют возможности управления памятью CLR и могут использоваться во многих .NET-co-вместимых языках. При этом обращение к типам ADO.NET (и их членам) производится практически одинаково вне зависимости от того, какой язык используется.
ADO.NET: общая картина
Все типы ADO.NET предназначены для выполнения единого набора задач: установить соединение с хранилищем данных, создать и заполнить данными объект DataSet, отключиться от хранилища дачных и вернуть изменения, внесенные в объект DataSet, обратно в хранилище данных. Объект DataSet — это очень важный и интересный тип данных, представляющий локальный набор таблиц и информацию об отношениях между ними. В некоторых отношениях DataSet очень напоминает рассоединенный Recordset из «старого*. ADO. Главное различие между рассоединенным Recordset и DataSet заключается в том, что Recordset представляет собой единственную таблицу, a DataSet — набор связанных таблиц. На практике нам ничто не мешает создать на клиенте объект DataSet, который будет представлять полную копию удаленной базы данных.
Предыдущая << 1 .. 248 249 250 251 252 253 < 254 > 255 256 257 258 259 260 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100