The ADO.NET Object Model

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.

ADO.NET architecture diagram

Figure 9-1. ADO.NET architecture diagram

The DataSet Class

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 System.Data namespace.

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.

The DataSet doesn’t just capture a few rows from a single table, but rather ...

Get Programming ASP.NET 3.5, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.