Linq join table and create dynamic column 错误

Linq join table and create dynamic column error

我想为我加入的 table.

在 Linq 中创建动态列

这是我四处询问后的代码。但它给了我另一个这样的错误。

代码:

var SelectedDT1AndDt2= from dr1 in dt1.AsEnumerable()
                       join dr2 in dt2.AsEnumerable()
                       on dr1.Field<Int64>("id1") equals 
                       dr2.Field<Int64>("id2") into joinDt1AndDt2
                       from leftjoin in joinDt1AndDt2.DefaultIfEmpty()
                       select dtJoinedTable.LoadDataRow(
                       (from dc1 in dt1.Columns.Cast<DataColumn>() 
                        select dc1.ColumnName.ToString()).ToArray()
                        .Union(from dc2 in dt2.Columns.Cast<DataColumn>()
                        select dc2.ColumnName).ToArray()
                       , false);
SelectedDT1AndDt2.CopyToDataTable();

错误:

Input string was not in a correct format.Couldn't store in id Column. Expected type is Int64.

这是因为column import的类型不是Int'64',我再次检查确认原来的col类型是Int'32'。