I want to merge many DataTables together to construct new DataTables. There are several 1-to-many and many-to-many relationships between the DataTables, so I want to be able to create new DataTables by using JOIN concepts from sql queries. Eventually I want to take the data in the new DataTables and update the real database server- much like using DataSets as a cached database system. The thing is I want to be able to merge, sort and manipulate DataTables even if it's disconnected from the database. Is there a common way to do this?