Я хотел бы сделать что-то вроде этого:
DataTable q = from c in customers
join o in orders on c.Key equals o.Key
into outer
from j in outer.DefaultIfEmpty()
select new { c.*, j.* };
Самое близкое, что я получил на данный момент, это следующее:
var q = from c in customers
join o in orders on c.Key equals o.Key
into outer
from j in outer.DefaultIfEmpty()
select new { c, j };
Я хотел бы, чтобы мой результат (q) содержал все столбцы из c и j. как c, так и j содержат много столбцов, поэтому я бы не стал перечислять их как таковые:
select new { c.col1, c.col2, etc. }
Но я в основном хочу, чтобы окончательный DataTable состоял из c.* и j.*.
Этот ответ (не принятый ответ, а ответ ниже) работает, если я укажу все столбцы c и j внутри «выбрать новый»: Как преобразовать результат LINQ в DATATABLE? Но я хотел бы не перечислять их все.