CHAPTER 21 ADO.NET PART I: THE CONNECTED LAYER
Note When you refer to a connection object under ADO.NET, you’re actually referring to a specific
DbConnection-derived type; there is no class literally named Connection. The same idea holds true for a
command object, data adapter object, and so forth. As a naming convention, the objects in a specific data provider
are prefixed with the name of the related DBMS (e.g., SqlConnection, OracleConnection, and SqlDataReader).
Figure 21-2 shows the big picture behind ADO.NET data providers. Note how the diagram illustrates
that the Client Assembly can literally be any type of .NET application: console program, Windows Forms
application, WPF application, ASP.NET web page, WCF service, a .NET code library, and so on.
Figure 21-2. ADO.NET data providers provide access to a given DBMS
A data provider will supply you with other types beyond the objects shown in Figure 21-2; however,
these core objects define a common baseline across all data providers.
The Microsoft-Supplied ADO.NET Data Providers
Microsoft’s .NET distribution ships with numerous data providers, including a provider for Oracle, SQL
Server, and OLE DB/ODBC-style connectivity. Table 21-2 documents the namespace and containing
assembly for each Microsoft ADO.NET data provider.
804