If you are working with a relational database, you have the option of accessing your data with LINQ, with LINQ and ADO.NET, or directly with ADO.NET. ADO.NET was designed to provide a disconnected data architecture (as database connections are typically considered “precious resources”), though it does have a connected alternative.
In a disconnected architecture, data is retrieved from a database and cached on your local machine. You manipulate the data on your local computer and connect to the database only when you wish to alter records or acquire new data.
There are significant advantages to disconnecting your data architecture from your database. The biggest advantage is that your application, whether running on the Web or on a local machine, will create a reduced burden on the database server, which may help your application to scale well. Database connections are resource-intensive, and it is difficult to have thousands (or hundreds of thousands) of simultaneous continuous connections. A disconnected architecture is resource-frugal, though there are times that all you want to do is connect to the database, suck out a stream of data, and disconnect; and ADO.NET has a
Reader class that allows for that as well.
ADO.NET typically connects to the database to retrieve data, and connects again to update data when you’ve made changes. Most applications spend most of their time simply reading through data and displaying it; ADO.NET provides ...