【发布时间】:2019-04-04 05:38:38
【问题描述】:
我有 2 个数据表,它们应该加入“用户 ID”,但它不起作用。我已经阅读了文档和其他解决方案,但它们也不起作用。
var dtjoined = from DataFileInfos in FileInfo.AsEnumerable()
join Recips in dtMail.AsEnumerable()
on DataFileInfos["UserID"] equals Recips["User name"]
into Tb3
from Tb3row in Tb3.DefaultIfEmpty()
select Tb3;
最后我想要一个带有左连接的数据表。我不明白 LINQ 的要点,即使阅读文档,有人可以解释一下吗?
我如何获取数据表? 我会做类似的事情
foreach(var enum in dtjoined)
{
//do something to add that
myDatatable.rows.add(enum);
}
编辑: 文件信息:
Datatable FileInfo = new Datatable();
FileInfo.Columns.Add("Anything",typeof(anything));
...
FileInfo.Columns.Add("UserID",typeof(string));
dtMail:
Datatable dtMail= new Datatable();
dtMail.Columns.Add("Anything",typeof(anything));
...
dtMail.Columns.Add("User name",typeof(string));
这是我的两张桌子,我希望他们加入 UserID
所以最后我得到了以下结果:
[FileInfo Column1] [FileInfo Column2] [FileInfo Column3] [FileInfo UserID] [dtMail E-Mail]
SomeValue SomeValue SomeValue UserID1 SomeMail
【问题讨论】:
-
"...不起作用..." - 此信息没有真正的帮助。它没有说明究竟是什么不起作用,即您是否在任何地方收到任何错误消息,您是否尝试调试问题以确保它确实完成了预期的事情。
-
不,我只是无法列举结果。最后我想要一个数据表
-
您是否尝试过使用调试器并检查
dtjoined- 它是否实现了IEnumerable? -
你的意思是你“只是不能列举”结果?
-
FileInfo和dtMail是一个列表还是什么?尝试在此处完成详细信息,也许有人可以尽快帮助您。