Программирование >>  Программирование с использованием ajax 

1 ... 287 288 289 [ 290 ] 291 292 293 ... 396


Что такое ADO.NET?

ADO.NET - это наименование набора классов, которые используются с С# и .NET Framework для доступа к данным в реляционном, таблично-ориентированном формате. Это включает реляционные базы данных, такие как Microsoft SQL Server и Microsoft Access, наряду с другими базами данных и даже не реляционными источниками данных. Технология ADO.NET интегрирована в .NET Framework и спроектирована для использования с любым языком .NET, в особенности - С#.

ADO.NET включает пространство имен System.Data и его вложенные пространства имен, такие как System.Data.SqlClient и System.Data.Linq, плюс некоторые специфические связанные с данными классы из пространства имен System.Xml. Вы познакомились с XML в главе 25; в этой главе будет описана поддержка XML со стороны ADO.NET. Физически классы ADO.NET содержатся в сборке System. Data .dll и связаны со сборками System.Data.xxx.dll, опять с некоторыми исключениями, такими как XML.

Почему это называется ADO.NET?

Вы можете недоумевать, почему эта часть .NET Framework получила собственное загадочное прозвище - ADO.NET? Почему бы просто не назвать ее System. Data и все? ADO.NET происходит от ActiveX Data Objects (ADO) - широко распространенного набора классов, которые использовались для доступа к данным в предыдущих поколениях технологий Microsoft. Имя ADO.NET применяется потому, что Microsoft хотела ясно указать на то, что этот набор классов призван заменить ADO, и что он является предпочтительным интерфейсом доступа к данным в среде программирования .NET - по крайней мере, до LINQ to SQL.

ADO.NET служит тем же целям, что и ADO, предоставляя легкие в использовании классы для доступа к данным, обновленные и расширенные для среды программирования .NET. Но хотя он играет ту же роль, что и ADO, классы, свойства и методы ADO.NET довольно значительно отличаются от их аналогов в ADO.

Если вы заинтересованы в подробностях истории разработки этих технологий и их отношением с другими интерфейсами работы с базами данных Microsoft, такими как ODBC или OLE DB, загляните в краткую историю, приведенную ниже. В противном случае перейдите к следующему разделу, чтобы приступить к изучению ADO.NET.

Очень краткая история доступа к данным

Когда появились первые системы управления данными, такие как Oracle и DB2 от IBM, любой разработчик, которому был необходим доступ к данным, нуждался в наборе функций, специфичных для каждой системы управления данными. Каждая система имела собственную библиотеку функций, подобную Oracle Call Interface (OCI) для Oracle, или DBLib для Sybase SQL Server (позднее купленного Microsoft). Это позволяло программам иметь быстрый доступ к данным, поскольку они напрямую взаимодействовали с базами данных. Однако необходимость программистам быть знакомыми с разными библиотеками для каждой базы данных, с которой им приходилось работать, приводила к тому, что задача написания управляемых данными приложений чрезвычайно усложнялась. Это также означало, что если компания заменяла используемую базу данных, все ее приложения нужно было полностью переписывать.



Эта проблема была решена с появлением ODBC (Open Database Connectivity - открытый интерфейс взаимодействия с базами данных). ODBC был разработан Microsoft в кооперации с другими компаниями в начале 90-х годов. ODBC предоставил полный набор функций, которые разработчики могли применять с любыми системами баз данных. Эти функции транслировались в специфичные для базы данных вызовы драйверами конкретной системы управления базами данных.

Это решило множество проблем, связанных с патентованными библиотеками баз данных - разработчикам теперь достаточно было знать, как пользоваться одним набором функций (функциями ODBC); и если компания заменяла свою систему управления базами данных, все, что приходилось изменить - это код подключения к базе данных. Однако оставалась одна проблема. Хотя безбумажный офис по большей части остается мечтой, компании обзавелись огромными объемами данных, хранимых в электронном виде - электронная почта, Web-страницы, файлы Project 2000 и т.д. ODBC] был хорош для доступа к данным в традиционных базах, но не позволял обращаться к данным других типов, которые не размещались в строгом порядке строк и столбцов, а порой вообще не имели регулярной структуры.

Ответом на эту проблему стало появление OLE DB. Технология OLE DB работает способом, аналогичным ODBC, предоставляя слой абстракции между базой данных и приложениями, которым нужен доступ к данным. Клиентское приложение взаимодействует с источником данных, которым может быть традиционная база данных или любое другое место хранения данных, через поставщика OLE DB для данного источника данных. Данные из любого источника предоставляются приложению в табличном формате - как будто они поступили из базы данных. Вдобавок, поскольку OLE DB обеспечивает доступ к данным, предоставляемым существующими драйверами ODBC, он может быть использован и для доступа к базам, поддерживаемым ODBC. Как вы вскоре убедитесь, ADO.NET поддерживает как OLE DB, так и ODBC очень похожим образом.

И последней унаследованной технологией доступа к данным, появившейся до эпохи .NET, была ActiveX Data Objects (ADO). ADO - это просто тонкий слой, располагающийся поверх OLE DB, который позволяет программам, написанным на таких высокоуровневых языках, как Visual Basic, обращаться к данным OLE DB.

Технология ADO.NET появилась вместе с .NET Framework 1.0, и эволюционировала вместе с различными версиями .NET с добавлением поставщиков данных, постепенно при этом совершенствуясь. LINQ to SQL представляет собой первый серьезный сдвиг парадигмы в доступе к данным с момента появления .NET Framework. ADO.NET продолжит развитие вместе с LINQ, с появлением таких новых средств, как ожидаемый ADO.NET for Entities, который должен выйти после Visual Studio 2008.

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

Цели проектирования ADO.NET

Ниже кратко перечислены основные цели проектирования ADO.NET.

□ Простой доступ к реляционным и нереляционным данным.

□ Расширяемость для поддержки еще более широкого круга источников данных, чем предшествующие технологии.

□ Поддержка многоуровневых* приложений в Internet.

□ Унификация доступа к данным XML и реляционным данным.



Простой доступ К реляционным данным

Первичная цель ADO.NET - обеспечение простого доступа к реляционным данным. Прямолинейные, легкие в использовании классы представляют таблицы, столбцы и строки в реляционной базе данных. Вдобавок ADO.NET предлагает класс DataSet, представляющий набор данных из реляционных таблиц, инкапсулированных в единственном элементе, с сохранением целостности отношений между ними. Это новая концепция в ADO.NET, которая значительно расширила возможности интерфейса доступа к данным.

Расширяемость

ADO.NET является расширяемой технологией. Она предлагает каркас для подключаемых поставщиков данных .NET (также называемых управляемыми поставщиками), которые могут быть построены так, чтобы читать и записывать данные из любого источника. ADO.NET поставляется с несколькими встроенными поставщиками данных, включая один для базы данных Microsoft SQL Server, один - для Oracle и по одному для каждого обобщенного интерфейса баз данных: Microsoft Open DataBase Connectivity (ODBC) API и API, основанный на COM Object Linking and Embedding DataBase (OLE DB).

Почти каждая база данных и формат файла данных имеет доступных поставщиков ODBC или OLE DB, включая Microsoft Access, базы от независимых поставщиков и нереляционные источники данных; таким образом, ADO.NET может быть использован в качестве интерфейса для работы почти с любой базой данных или форматом данных - через одного из встроенных поставщиков данных. Многие поставщики систем управления базами данных, такие как MySQL и Oracle, также предлагают родные поставщики данных .NET для своих продуктов.

Поддержка многоуровневых приложений

ADO.NET спроектирован для работы в многоуровневых приложениях. Сегодня это - наиболее распространенная архитектура для бизнес-приложений и приложений электронной коммерции. В многоуровневой архитектуре разные части прикладной логики распределены по разным уровням или слоям, и взаимодействуют только с соседними слоями.

Одним из наиболее распространенных подходов является трехуровневая модель, которая состоит из следующего.

□ Слой данных. Содержит базу данных и код доступа к данным.

□ Бизнес-слой. Содержит бизнес-логику, который определяет уникальную функциональность приложения, и абстрагирует ее от других слоев. Этот слой иногда называют средним слоем.

□ Слой представления. Обеспечивает пользовательский интерфейс и контроль потока управления приложения, наряду с такими вещами, как проверка пользовательского ввода.

ADO.NET использует открытый Internet-стандарт XML для взаимодействия между слоями, позволяя передавать данные через Internet-брандмауэры и обеспечивая возможность He-Microsoft-реализаций одного или более слоев.

Унификация доступа к реляционным данным и XML

Другая важная цель, которой служит ADO.NET состоит в построении моста между реляционными данными в строках и столбцах и документами XML, имеющими иерархическую структуру данных. Технология .NET строится вокруг XML, а ADO.NET интенсивно использует его.



1 ... 287 288 289 [ 290 ] 291 292 293 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика