【发布时间】:2013-07-02 20:00:39
【问题描述】:
我有一个包含两个表的数据集。一个被认为是嵌套在另一个中。我想要的只是它不被嵌套并且有一个表。 .Merge() 和 LINQ 并没有做到这一点。
这是主表的示例
学生证 身份证
--------------------
123456789 1
654987321 2
但每一个都有多个行,它们对应于下一个表中
ID Col1 Col2 等
----------------------
1 事实 1 事实 2
1 事实 3 事实 4
2 事实 5 事实 6
我想将它们组合起来,使它们看起来像这样......
学生 ID Col1 Col2
-------------------------------------------
123456789 事实 1 事实 2
123456789 事实 3 事实 4
654987321 事实5 事实6
每次我尝试合并它都不起作用我收到一个错误,我无法复制主键“ID”,并且由于合并是基于主键的(我相信)我无法删除它。
我不能使用 LINQ,因为我想让它成为通用的,以便第二个表可以有任意数量的列,而我无法让选择为此工作。
更新:我的解决方案 我最终将第二个表克隆到一个新的数据表中。然后添加一个名为“student-id”的列并删除 ID 列。我遍历了主表的行,并找到了第二个表中的行...将所有数据合并到一个数组中,并在最终表中创建了一行。
【问题讨论】:
-
在这里寻找一些例子Inner join of DataTables in C#
-
@RomanPekar 我对该示例的唯一问题是它指定了列,我想这样做,这样我就不必选择每一列......将会有一个种类繁多的列,它们都有不同的名称
标签: c# asp.net datatable jointable