It depends on how your cache looks. If you are going to store everything in memory, and the DataSet is used as a cache, just read everything in the DataSet.
If not, use SqlDataReader , as suggested above, read the records one by one, storing them in your large cache.
However, note that there is already a very popular caching mechanism for large database tables — your database. With the right index configuration, the database is likely to outperform your cache.
source share