Следует понимать, что эта глава не предполагает рассмотрение абсолютно всех типов из каждого пространства имен ADO.NET (для этого потребовалась бы отдельная книга). Но очень важно, чтобы вы поняли суть и возможности типов, предлагаемых в рамках пространства имен System.Data.
Таблица 22.4. Дополнительные пространства имен, имеющие отношение к ADO.NET
Пространство имен |
Описание |
Misrosoft.SqlServer.Server |
Новое пространство имен .NET 2.0; предлагает типы, позволяющие с помощью управляемых языков создавать хранимые процедуры для SQL Server 2005 |
System.Data |
Определяет базовые типы ADO.NET, используемые всеми поставщиками данных |
System.Data.Common |
Содержит типы, совместно используемые поставщиками данных, включая типы соответствующие модели источника поставщика данных .NET 2.0 |
System.Data.Design |
Новое пространство имен .NET 2.0; предлагает различные типы, используемые при настройке пользовательских компонентов данных в режиме проектирования |
System.Data.Sql |
Новое пространство имен .NET 2.0; предлагает типы, позволяющие выявлять экземпляры Microsoft SQL Server, установленные в локальной сети |
System.Data.SqlTypes |
Содержит "собственные" типы данных Microsoft SQL Server. Хотя вы всегда можете использовать соответствующие типы данных CLR, типы SqlTypes оптимизированы специально для работы с SQL Server |
Пространство имен System.Data является, так сказать, общим знаменателем для всех пространств имен ADO.NET. Вы просто не можете построить приложение ADO.NET, не указав это пространство имен в приложении доступа к данным. Эта пространство имен содержит типы, совместно используемые всеми поставщиками данных ADO.NET, независимо от лежащего в их основе типа хранилища данных. В дополнение к целому ряду исключений (NoNullAllowedException, RowNotInTableException, MissingPrimaryKeyExceeption и т.д.), связанных с доступом к базам данных. System.Data содержит типы, соответствующие как раз-личным примитивам (таблицам, строкам, столбцам, ограничениям и т.д.) базы данных, так и общим интерфейсам, реализуемым объектами поставщика данных, В табл. 22.5 предлагаются описания некоторых базовых типов этого пространства имен, о которых вам следует знать.
Роль пространства имен DataSet, a также DataTable.DataRelation.DataRow и т.д. будет рассмотрена в этой главе позже. Нашей ближайшей задачей будет рассмотрение базовых интерфейсов System.Datа, так сказать, с общей точки зрения. чтобы лучше понять общие функциональные возможности, предлагаемые всеми поставщиками данных. Конкретные детали будут обсуждаться в процессе изложения материала этой главы, а сейчас мы сосредоточимся на общем поведении каждого из имеющихся типов интерфейса.
Таблица 22.5.Базовые члены пространства имен System.Data
Тип |
Описание |
Constraint |
Представляет ограничение для данного объекта DataColumn |
DataColumn |
Представляет отдельный столбец в рамках объекта DataTable |
DataRelation |
Представляет отношение "родитель-потомок" между двумя объектами DataTable |
DataRow |
Представляет отдельную строку в рамках объекта DataTable |
DataSet |
Представляет хранимые в памяти данные, скомпонованные на основе любого числа взаимно связанных объектов DataTable |
DataTable |
Представляет табличный блок данных в памяти |
DataTableReader |
Позволяет доступ к DataTable в режиме однонаправленного курсора (только для чтения); этот тип появился в .NET 2.0 |
DataView |
Обеспечивает пользовательское представление для DataTable с использованием сортировки, фильтрации, поиска, редактирования и навигации |
IDataAdapter |
Определяет базовое поведение объекта адаптера данных |
IDataParameter |
Определяет базовое поведение объекта параметра |
IDataReader |
Определяет базовое поведение объекта чтения данных |
IDbCommand |
Определяет базовое поведение объекта команды |
IDbDataAdapter |
Расширяет IDataAdapter с целью получения дополнительных функциональных возможностей объекта адаптера данных |
IDbTransaction |
Определяет базовое поведение объекта транзакции |
Тип IDbConnection реализуется объектом соединения поставщика данных, Этот интерфейс определяет множество членов, используемых для настройки соединения с конкретным хранилищем данных, а также позволяет получить объект транзакции поставщика данных. Вот формальное определение IDbConnection.
public interface IDbConnection: IDisposable {
string ConnectionString { get; set; }
int ConnectionTimeout { get; }
Читать дальше