Well, βhe,β as in βhe said,β is right, but MS certainly made them work better, faster, and with less coding effort in version 2.0.
On the one hand, DataReader can be loaded directly into a DataSet or DataTable, which simplified a lot. For me, the other biggies were adding asynchronous calls to BeginExecuteXxxx () and EndExecuteXxxx () along with allowing more than one pending connection request and direct support for reading data in page mode, without having to write a stored procedure for each place, you had a large data set that it was necessary to unload.
source share