Высокоуровневое определение ADO.NET

We use cookies. Read the Privacy and Cookie Policy

Высокоуровневое определение ADO.NET

Если вы имеете опыт применения предыдущей модели Microsoft доступа к данным – модели ADO (ActiveX Data Objects – объекты данных ActiveX), основанной на использовании COM, – вы должны понять, что ADO.NET имеет с ADO очень мало общего, кроме букв "A", "D" и "О". Хотя и верно то, что некоторая взаимосвязь между этими двумя системами имеется (например, в каждой из систем используются понятия объекта соединения и объекта команды), некоторые привычные для ADO типы (например, Recordset) в ADO.NET больше не существуют. К тому же, ADO.NET предлагает целый ряд новых типов (например, адаптеры данных), которые не имеют прямых эквивалентов в "классической" модели ADO.

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

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

Замечание. В .NET 2.0 сериализация типов DataSet (и DataTable) может выполняться в двоичном формате (с помощью RemotingFormat). Это может оказаться полезным при построении распределенных систем на уровне удаленного взаимодействия .NET (см. главу 18), поскольку двоичные данные оказываются гораздо более компактными, чем данные XML

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