One of the great things with ADO.net is that you dont have to know which kind of connections/commands that you are using (interface based programming). You can use a connection to create a command, and command to create a reader.
IDbConnectin con = CreateConnection(_connectionString); //factory method
IDbCommand cmd = con.CreateCommand();
IDataReader reader = cmd.ExecuteReader();
But how do I create a IDataAdapter in the same way?