Операции над данными с иерархической структурой. Разработка распределенных приложений в .NET

ОГЛАВЛЕНИЕ

Эта статья демонстрирует методику чтения и записи иерархических наборов строк в источнике данных. В примерах кода, приведенных в этой статье, для соединения с базой данных Microsoft SQL Server или Microsoft Desktop Engine (MSDE) используется управляемый провайдер SQL (SQL managed provider). Для соединения с другими OLEDB-совместимыми источниками данных следует применять управляемый провайдер ADO (ADO managed provider).

Для доступа к иерархическим строкам, возвращаемым источником данных, в ADO.NET используются объекты DataReader и DataSet. Объект DataReader обеспечивает простой и быстрый доступ к данным только для чтения. С помощью этого объекта можно обращаться либо к иерархическим строкам данных, полученным в результате выполнения нескольких операторов SELECT, либо к XML-данным, возвращаемым SQL Server 2000. Объект DataReader позволяет читать данные только в направлении вперед (forward-only) и остается соединенным с базой данных, пока приложение читает данные.

Объект DataSet, напротив, представляет отсоединенный реляционный кэш данных в памяти. Он может содержать несколько таблиц, рассматриваемых как отдельные или связанные таблицы. Особенности этого объекта облегчают навигацию по связанным данным и их модификацию.

Кроме того, SQL Server .NET Data Provider позволяет получить XML-поток напрямую от SQL Server 2000. Для этого предоставляется специальная API-функция, ExecuteXmlReader, доступная через объект SQLCommand. Метод ExecuteXmlReader выполняет SQL-запрос применительно к SQL-соединению и на основе XML, возвращенного запросом, создает объект XmlReader. ExecuteXmlReader используется только в выражениях, результатом которых являются XML-данные, и эффективен в запросах, где в выражениях с SELECT присутствует блок FOR XML.

Читайте также:
  • Entity Framework в многоуровневых архитектурах
    В статье за этот месяц я продемонстрирую добавление платформы Entity Framework в n-уровневую архитектуру, в которой используются технологии Windows® Communication Foundation (WCF) и Windows Presentation Foundation (WPF), а также шаблон «модель-представление-презентатор» (Model View P...
  • Entity Framework FAQ
    Важной частью Entity Framework является анализ запросов, как созданных в коде для платформы Microsoft® .NET Framework, так и на языке SQL, поэтому явная и упреждающая загрузка в статье будет рассмотрена на примере создаваемых запросов. Все примеры кода и образец базы данных NorthwindEF вместе с ...
  • Обзор ADO.NET Entity Framework
    Entity Framework представляет логическую структуру базы данных, используя концептуальный слой, слой сопоставления и логический слой. В этой статье я рассмотрю задачи каждого из этих слоев. Я также представлю поставщика данных EntityClient и новый язык, Entity SQL, который может взаимодействовать с с...
  • Разработка сущностной модели данных с помощью Entity Framework
    В основе Entity Framework лежит сущностная модель данных (EDM). В модели EDM определяются типы сущностей, отношения и контейнеры, а разработчик взаимодействует со всем этим посредством кода. Платформа Entity Framework строит соответствия между упомянутыми элементами и схемой хранения, которую предос...
  • Использование атрибутов для нормализации и валидации бизнес-сущностей
    Как пишет Дино Эспозито: В объекты DataSet встроена поддержка параллельного доступа с нежесткой блокировкой. Они позволяют определять и использовать сложные отношения между таблицами. Кроме того, объекты DataSet поддерживают сериализацию, а при изменении схемы базы данных, как правило, не требуется ...