繁体   English   中英

Linq 连接表并创建动态列错误

[英]Linq join table and create dynamic column error

我想在 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();

错误:

输入字符串的格式不正确。无法存储在 id 列中。 预期类型为 Int64。

这是因为列导入的类型不是 Int'64',我再次检查并确认原始 col 类型是 Int'32'。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM