Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq联接表和创建动态列错误_C#_Linq_Jointable - Fatal编程技术网

C# 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

我想为我的联接表在Linq中创建动态列

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

代码:

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();