The goal of ADO.NET is to provide a bridge between your objects in ASP.NET and your backend data store. ADO.NET provides an object-oriented view into the database, encapsulating many of the database properties and relationships within ADO.NET objects. Further, and in many ways most important, the ADO.NET objects encapsulate and hide the details of database access; your objects can interact with ADO.NET objects without you knowing or worrying about the details of how the data is moved to and from the database.
An overview of the ADO.NET architecture is shown in Figure 9-1. We will return to the aspects of this figure throughout this chapter.
Figure 9-1. ADO.NET architecture diagram
The ADO.NET object model is rich, but at its heart it is a fairly straightforward set of classes. One of the key classes is the
DataSet (shown in the upper-right corner of Figure 9-1), which is located in the
DataSet represents a rich subset of the entire database, cached in session state or in memory, without a continuous connection to the database. Periodically, you’ll reconnect the
DataSet to its parent database, which is how you update the database with changes to the
DataSet you’ve made, and update the
DataSet with changes in the database made by other processes.
DataSet doesn’t just capture a few rows from a single table, but rather ...