ADO.NET is a library of classes providing data access services and functionalities to the .NET programmer writing managed code. It provides consistent access to data sources such as Microsoft® SQL ServerT, as well as other data sources exposed through OLE DB and XML; the supported operations fall into one of the three categories: retrieval, manipulation, or data updating.
The model of the ADO.NET for data access supposes the opening of a connection, getting data or performing an operation, and then closing the connection. The two basic strategies for working with the model exist. One strategy is store data in a dataset, which is an in-memory cache of records with which it can be worked even after the disconnection from the data source. An alternative strategy is to perform operations directly against the database, by using a data command object that includes an SQL statement or a reference to a stored procedure. The result can be then fetched using one of the data-reader class instances. Out of the advantages of this strategy we name here: the extra functionalities ( in some cases only ) , and the more control over execution it provides.