我将加入datatables以创建一个新的datatable,
代码:
var row = from r0w1 in dt_vi.AsEnumerable()
join r0w2 in dt_w.AsEnumerable()
on r0w1.Field<int>("ID") equals r0w2.Field<int>("iD")
join r0w3 in dt_re.AsEnumerable()
on r0w1.Field<int?>("ID") equals r0w3.Field<int?>("id")
join r0w4 in dt_def.AsEnumerable()
on r0w1.Field<int?>("ID") equals r0w4.Field<int?>("id") into ps
from r0w4 in ps.DefaultIfEmpty()
select r0w1.ItemArray.Concat(r0w2.ItemArray.Concat(r0w3.ItemArray.Concat(r0w4 != null ? r0w4.ItemArray : new object[] { }))).ToArray();
foreach (object[] values in row)
dt.Rows.Add(values);
在上述代码中,
foreach (object[] values in row)
dt.Rows.Add(values);
当处理数十万行数据时,速度会变慢。我想将row
的数据放入dt
数据表中。我尝试过
dt=row.CopyToDataTable();
但是它一直报错。
我如何在这里使用CopyToDataTable()函数来避免循环?
CopyToDataTable
方法也会使用循环。 - Tim Schmelter