I don't want to sound like a marketing guy this is the exact same
problem that I had. It was such a pain that I built a tool to do this
for me, and now my company is selling it (free to try, and under $100
to buy). It's called the DataSet Toolkit, and it has a class called
the MultiTableDataAdapter which does exactly the thing you want. Let
me know what you think.