ADO.NET(ActiveX Data Object .NET) – набор классов, используемый для доступа к источникам данных в платформе .NET. ADO.NET поддерживает асинхронный доступ к данным и сериализацию данных, получаемых из хранилища, в формате XML.
ADO.NET не предлагает единого набора типов для связи со всеми СУБД. В пространстве имен System.Data.Common находятся базовые классы и интерфейсы, а соответствующие производные типы для разных поставщиков данных – в одноименных пространствах System.Data.SqlClient, System.Data.Odbc и т.п.
И хотя имена этих реализующих типов разные, можно создать весьма универсальный программный код, благодаря использованию полиморфизма и специального объекта класса DbProviderFactory, с помощью которого извлекаются объекты данных, специфичные для каждого поставщика.
Библиотеки ADO.NET могут использоваться в рамках двух концептуально различных способах взаимодействия: на связном уровне, для чего используются классы подсоединенных объектов или несвязном уровне, где нужны классы отсоединенных объектов (рис. 3.1).

Рисунок 3.1 – Организация классов ADO.NET
При использовании связного уровня программный код непосредственно соединяется с соответствующим хранилищем данных, и отсоединяется от него, когда задачи взаимодействия решены. Несвязный уровень, напротив, позволяет получить набор объектов, функционирующих как клиентские копии внешних данных.