ADO.NET provides consistent access to data sources such as SQL Server and XML, and to data sources exposed through OLE DB and ODBC. Data-sharing consumer applications can use ADO.NET to connect to these data sources and retrieve, handle, and update the data that they contain.
ADO.NET separates data access from data manipulation into discrete components that can be used separately or in tandem. ADO.NET includes .NET Framework data providers for connecting to a database, executing commands, and retrieving results. Those results are either processed directly, placed in an ADO.NET DataSet object in order to be exposed to the user in an ad hoc manner, combined with data from multiple sources, or passed between tiers. The DataSet object can also be used independently of a .NET Framework data provider to manage data local to the application or sourced from XML.
The ADO.NET classes are found in System.Data.dll, and are integrated with the XML classes found in System.Xml.dll. For sample code that connects to a database, retrieves data from it, and then displays that data in a console window, see ADO.NET Code Examples.
ADO.NET provides functionality to developers who write managed code similar to the functionality provided to native component object model (COM) developers by ActiveX Data Objects (ADO). We recommend that you use ADO.NET, not ADO, for accessing data in your .NET applications.
ADO.NET provides the most direct method of data access within the .NET Framework. For a higher-level abstraction that allows applications to work against a conceptual model instead of the underlying storage model, see the ADO.NET Entity Framework.
Privacy Statement: The System.Data.dll, System.Data.Design.dll, System.Data.OracleClient.dll, System.Data.SqlXml.dll, System.Data.Linq.dll, System.Data.SqlServerCe.dll, and System.Data.DataSetExtensions.dll assemblies do not distinguish between a user's private data and non-private data. These assemblies do not collect, store, or transport any user's private data. However, third-party applications might collect, store, or transport a user's private data using these assemblies.
In This Section
Provides an overview of the architecture and components of ADO.NET.
ADO.NET Technology Options and Guidelines
Describes the products and technologies included with the Entity Data Platform.
LINQ and ADO.NET
Describes how Language-Integrated Query (LINQ) is implemented in ADO.NET and provides links to relevant topics.
.NET Framework Data Providers (ADO.NET)
Provides an overview of the design of the .NET Framework data provider and of the .NET Framework data providers that are included with ADO.NET.
Provides an overview of the DataSet design and components.
Side-by-Side Execution in ADO.NET
Discusses differences in ADO.NET versions and their effect on side-by-side execution and application compatibility.
ADO.NET Code Examples
Provides code samples that retrieve data using the ADO.NET data providers.
What's New in ADO.NET
Introduces features that are new in ADO.NET.
Securing ADO.NET Applications
Describes secure coding practices when using ADO.NET.
Data Type Mappings in ADO.NET
Describes data type mappings between .NET Framework data types and the .NET Framework data providers.
Retrieving and Modifying Data in ADO.NET
Describes how to connect to a data source, retrieve data, and modify data. This includes DataReaders and DataAdapters.