Поищите у майкрософта в мсдн в примерах класс DataSetSurrogate. В фреймворке его нет.
В этом классе есть возможность выполнять JOIN таблиц. Уверен, что на 100% это решение вам не подойдет, но оно с исходниками и всегда можно поправить.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение