До тех пор, пока вы просто хотите получить коллекцию, которую можете связать, вы можете делать следующее:
var results = from rs1 in table1.Rows.Cast<DataRow>()
join rs2 in table2.Rows.Cast<DataRow>() on rs1.Field<int>("col1") equals rs2.Field<int>("colA")
select new { col1 = rs1.Field<int>("col1"), col2 = rs1.Field<string>("col3"), col3 = rs1.Field<string>("col3"), colA = rs1.Field<int>("colA"), colB = rs1.Field<string>("colB") };
Вы не получите DataTable
, а IEnumerable<T>
коллекцию объектов анонимного типа, как определенов утверждении выбора.Obvoiusly, я только что угадал критерии соединения и тип данных столбцов, поэтому вам нужно будет указать их в соответствии с вашими фактическими данными.