UNION объединяет строки, так что это то, что вам нужно, чтобы расположить одну таблицу поверх другой, но соединяет стеки столбцов друг с другом
SELECT * FROM Table1
UNION ALL
SELECT * FROM Table2
Вы имеете дело с тем, что LINQ к SQL не имеет никакой многоуровневой истории. Я думаю, что это - то, что Вы ищете:
http://blog.irm.se/blogs/eric/archive/2008/08/20/Go-Distributed-With-LINQ-to-SQL.aspx
Метод Слияния, что этот парень подарки мог быть легко превращен в "дополнительный метод" класса DataContext и это почти будет точно так же, как он был встроен прямо в LINQ к SQL. Я говорю почти, потому что необходимо было бы включать пространство имен того, где дополнительный метод расположен для использования его.
Я думаю, что необходимо рассмотреть использование представления к accompish, что Вы хотите. набор ObservebleCollection для содержания объектов и затем у Вас может быть привязка в Вашем списке к представлению того набора, необходимо было бы все еще обработать случаи добавления и вычеркивания объектов, но можно также выбрать IBindingList, который даст Вам BindingListCollectionView, который обновит DB, все, что необходимо сделать, назвать представления AddNew () CommitNew () и так далее.
HTH, Eric