Name
DataAdapter
Synopsis
DataAdapter
classes are provider-specific types
that act as a bridge between a data source (such as a SQL Server
database) and the ADO.NET System.Data.DataSet
.
DataAdapter
s have two responsibilities: to
retrieve the results of a query and place it in a
System.Data.DataSet
(when you call the
Fill( )
method), and to reconcile changes in the
System.Data.DataSet
and apply changes back to the
data source (when you call the Update( )
method.
An ADO.NET provider includes its own custom
DataAdapter
(such as
System.Data.SqlClient.SqlDataAdapter
).
Unfortunately, DataAdapter
classes have a complex
inheritance hierarchy. The base functionality is defined by two
interfaces: System.Data.IDataAdapter
(which
defines the Update( )
and Fill( )
methods) and, for relational database providers, a
System.Data.IDbDataAdapter
(which defines the
command properties used for interacting with the data source). The
relational database provider-specific DataAdapter
implements only one of these interfaces directly
(System.Data.IDbDataAdapter
). It implements the
other indirectly by deriving from DbDataAdapter
,
which in turn derives from this class. This situation is illustrated
more clearly in Figure 36-2. This allows some basic
DataAdapter
functionality to be implemented in
this class (so the provider-specific DataAdapter
doesn’t need to). It also allows the
provider-specific class to use strongly typed
Command
properties but still support generic
access to these properties as
System.Data.IDbCommand ...
Get ADO.NET in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.