Earlier in this chapter we saw two namespaces that implement OLE DB and SQL Server managed providers (.NET providers) – System.Data.OleDb and System.Data.SqlClient respectively. A managed provider is a group of .NET components that implement a set of core and additional objects that serve as a bridge between a DataSet object and a data source. Managed providers are based on the DBDataAdapter class and implement interfaces like IDbCommand, IDbConnection, and IDataReader. The core objects of a managed provider are:
Connection Represents a unique session to a data store;
Command Represents a SQL statement to be executed on a data store;
DataReader Represents a forward-only, read-only stream of data records from a data store; ...