DataReader vs. DataAdapter

Recently I've had discussions with a few people about the pros and cons of using DataAdapter.Fill() vs. using the DataReader. First let's take a look at how DataAdapter.Fill() works. Here is the basic code: try { DbDataAdapter.QuietOpen(connection1, out state1); using (IDataReader reader1 = command.ExecuteReader(behavior | CommandBehavior.SequentialAccess)) { if (data is DataTable) { return this.Fill((DataTable) data, … Continue reading DataReader vs. DataAdapter