|In ADO.NET, you can only have one command executing against a connection at a time. The
DataReader has exclusive use of a connection while it's open.
You can do one of two things: you can either open a second connection to execute the 'child' commands, or you can use a
DataSet to store the results of the two commands. The first option is very wasteful of resources. The second option allows you to set up
DataRelation objects which allow you to navigate the child rows using the
If you plan to do the second, you might as well ask for both tables in the same query batch, generating two result sets.
You could also perform a join on the server side, depending on what you actually need to do with the data.