In ADO.NET, a data adapter (DataAdapter) is an object that acts as a bridge between a data source and a disconnected in-memory data representation such as a DataSet, enabling data to be retrieved into the DataSet and later written back to the data source.
The DataAdapter is an abstract base class in the System.Data.Common namespace; provider-specific implementations (such as for SQL Server, OLE DB, or ODBC) typically derive from DbDataAdapter. Data adapters are used with the ADO.NET disconnected model, where an application loads data into a memory-resident DataSet (including related tables, constraints, and relationships) and later reconciles changes back to the underlying data source.
A DataAdapter populates a DataSet (or DataTable) through its Fill method, using its SelectCommand to retrieve rows from the data source.
A DataAdapter can persist changes made in the DataSet back to the data source using Update; it applies INSERT, UPDATE and DELETE operations as appropriate based on changes tracked in the DataSet, using command objects such as InsertCommand, UpdateCommand and DeleteCommand.
Data adapters can also configure a DataSet's schema from the data source (for example, using FillSchema) and can map source table names to DataTable names through table mappings.
Provider-specific data adapters include:
A DataSet can be filled and updated using multiple DataAdapter instances, and can contain related tables originating from different data sources exposed through different providers.