Библиотеки ADO.NET могут использоваться в рамках одного из двух концептуально различных способов взаимодействия: на связном или несвязном уровнях. При использовании
Несвязный уровень, напротив, позволяет получить набор объектов DataTable (содержащихся в рамках DataSet), функционирующих, как клиентские копии внешних данных. При получении DataSet с помощью соответствующего объекта адаптера данных необходимое вам соединение открывается и закрывается автоматически. Вы можете сами догадаться, что данный подход позволяет быстрее освободить соединение для других вызывавших абонентов. После получения объекта DataSet клиентом этот клиент может просматривать и менять содержимое объекта, не создавая лишней нагрузки на сетевой трафик. Чтобы направить измененные данные обратно в хранилище данных, клиент может снова использовать адаптер данных (в совокупности с множеством подходящих операторов SQL), и после обновления источника данных соединение снова немедленно разрывается.
Поставщики данных ADO.NET
ADO.NET не предлагает единого набора типов для связи со всели системами управления базами данных (СУБД). Вместо этого ADO.NET поддерживает множество
Упрощенно говоря,
Таблица 22.1. Базовые объекты поставщика данных ADO.NET
Объект | Базовый Класс | Реализованные интерфейсы | Описание |
---|---|---|---|
Connection | DbConnection | IDbConnection | Обеспечивает возможность соединения с хранилищем данных и отключения от него, а также доступ к соответствующему объекту транзакции |
Command | DbCommand | IDbCommand | Объект команды. Представляет SQL-запрос или имя хранимой процедуры, а также обеспечивает доступ к о6ъекту чтения данных соответствующего поставщика данных |
DataReader | DbDataReader | IDataReader, IDataRecord | Объект чтения данных. Обеспечивает однонаправленный доступ к данным в режиме "только для чтения" |
DataAdapter | DbDataAdapter | IDataAdapter, IDbDataAdapter | Объект адаптера данных. Обеспечивает обмен объектами DataSet между вызывающей стороной и местом хранения данных. Содержит набор из четырех внутренних объектов команд, используемых для выборки, вставки, обновления и удаления информации из хранилища данных |
Parameter | DbParameter | IDataParameter, IDbDataParameter | Объект параметра. Представляет именованный параметр параметризованного запроса |
Transaction | DbTransaction | IDbTransaction | Объект транзакции. Выполняет транзакцию базы данных |