LEFT JOIN DataTables - 我如何让它工作?

时间:2012-05-01 20:41:55

标签: c# linq join datatable

  

可能重复:
  LEFT OUTER JOIN 2 datatables

让我们说这是我的确切代码:

        DataTable table1 = new DataTable();
        DataTable table2 = new DataTable();
        DataTable joinedtable = new DataTable();

        table1.Columns.Add("ID");
        table1.Columns.Add("ColA");
        table1.Rows.Add(1, "A");

        table2.Columns.Add("ID");
        table2.Columns.Add("ColB");
        table2.Rows.Add(1, "B");

我的查询是什么,LINQ与否,但是将table1和table2连接在一起并将其放入joinTable? 当我尝试搜索示例时,我一直在寻找以这样开头的示例:

        var result = from x in table1
            join y in table2 on x.ID equals y.ID 

但是,我在DataTable1上得到一个错误,我发现建议改为“table1.AsEnumerable()”,但后来我没有x.ID. .ID未定义。我只有普通DataRow会有x的东西。 我在这做错了什么?我似乎无法弄清楚这一点。

谢谢大家的帮助。

1 个答案:

答案 0 :(得分:1)

对于DataTables,遗憾的是它变得有点棘手(如果您因任何原因不想使用LINQ),因为您需要定义DataRelation对象实际上定义了这两个DataTables之间的关系定义。

有关详细信息,请查看此说明:

How to join two DataTables using C#