C# Linq联接表和创建动态列错误
我想为我的联接表在Linq中创建动态列 这是我四处询问后的代码。但它给了我另一个这样的错误 代码:C# Linq联接表和创建动态列错误,c#,linq,jointable,C#,Linq,Jointable,我想为我的联接表在Linq中创建动态列 这是我四处询问后的代码。但它给了我另一个这样的错误 代码: var selecteddt1和dt2=来自dt1.AsEnumerable()中的dr1 在dt2.AsEnumerable()中加入dr2 在dr1上,字段(“id1”)等于 dr2.字段(“id2”)分为Joint1和DT2 从Joint1和DT2中的leftjoin.DefaultIfEmpty() 选择dtJoinedTable.LoadDataRow( (来自dt1.Columns.C
var selecteddt1和dt2=来自dt1.AsEnumerable()中的dr1
在dt2.AsEnumerable()中加入dr2
在dr1上,字段(“id1”)等于
dr2.字段(“id2”)分为Joint1和DT2
从Joint1和DT2中的leftjoin.DefaultIfEmpty()
选择dtJoinedTable.LoadDataRow(
(来自dt1.Columns.Cast()中的dc1)
选择dc1.ColumnName.ToString()).ToArray()
.Union(来自dt2.Columns.Cast()中的dc2)
选择dc2.ColumnName).ToArray()
,假);
选择eddt1和dt2.CopyToDataTable();
错误:
输入字符串的格式不正确。无法存储在id列中。应为Int64类型
这是因为列导入不是Int'64类型,我再次检查并确认原始列类型是Int'32。这是因为列导入不是Int'64类型,我再次检查并确认原始列类型是Int'32。您可以提供更多信息(如类型和技术)吗。您的标题看起来像一条错误消息,但您在文章正文中提供了不同的错误消息。他们有关系吗?你有没有试过零碎地做你想做的事情,并弄清楚错误发生在哪一步?对不起,我的标题错误了,我在发帖时没有意识到,发帖中的错误是正确的。你能提供更多信息吗(比如类型和技术)。您的标题看起来像一条错误消息,但您在文章正文中提供了不同的错误消息。他们有关系吗?你有没有试过零碎地做你想做的事情,并弄清楚错误发生在哪一步?对不起,我的标题错误是错误的,我在发帖时没有意识到,发帖中的错误是正确的
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();