The DataSet object represents a subset of the database. Since it is not continuously connected to the database, a connection needs to be made to make updates. The DataSet contains member properties of DataRelation and DataTable types, both of which are described below.
The Data Relation class is used to represent the relationships between tables, navigate between them, and return parent or child records.
The DataTable class represents the tables in a database. A single DataTable object represents just one table of data.
A DataRow object represents one row in a DataTable.
A DataAdapter object is used as a bridge between a database and a DataSet. It can update both the DataSet object and the original data-source to match the changes in the other, as required.
As the name suggests, DataReader offers a way to read data from the data source. However, its purpose may be read-only. DataReader objects offer a good way to read large chunks of data as data is not cached locally when it’s used.
The DbConnection class handles connections between the program and the database.
DbCommand objects represent SQL commands or stored procedures to run on a database.
The DbException class is an abstract class used as the base class for exceptions thrown by the data source.