Вы должны присоединиться к ним, как в SQL.
Если у вас есть отношение внешнего ключа в схеме, Subsonic достаточно умен, чтобы вычислить соединения напрямую:
DataSet DS = DB.Select().From<Table1>().InnerJoin<Table2>().ExecuteDataSet();
Если у вас нет FKI между таблицами, вам нужно вручную указать столбцы из каждой таблицы для создания объединения:
DataSet DS = DB.Select().From<Table1>().InnerJoin(Table1.FKIColumn,Table2.IDColumn).ExecuteDataSet();
Аналогично вы можете создавать левый / правый внешние соединения и т. Д.
Помните, что вы можете присоединиться к ним только на простых ограничениях FKI. Например, я не нашел простого способа сделать "INNER JOIN Table2 on Table1.FKI = Table2.ID и Table2.CreateDate> Table1.CreateDate" напрямую из SubSonic.
И большой недостаток использования объединений таблиц SubSonic в том, что у вас возникнут проблемы, если в обеих таблицах есть столбцы с одинаковыми именами.