Basically, the ADO.NET object model contains two types of objects: Connected objects (like Connection, Transaction, DataAdapter, Command, Parameter, and DataReader) and Disconnected objects (like DataSet, DataTable, DataView, DataRow, DataColumn, Constraint, and DataRelation).
Connected objects talk directly to and require (or manage) a live connection to your data source, and connected objects that can retrieve or modify data can only do so in a forward-only, read-only stream (you canât sort, search, filter, etc.) query results with connected objects in .NET
Disconnected objects donât require a live connection to your data source. They allow you to close the connection to your data source and continue to work with data in an off-line data cache.