c#中两个DataTable的区别

时间:2012-02-15 07:32:19

标签: c# linq datatable

我有两个数据表如下

dtOne
-------------------------
  ID  |   Name 
--------------------------
 101  |  ABC
 102  |  XYZ
 103  |  MNO
--------------------------

dtTwo
-------------------------
  ID  |   Name 
--------------------------
 101  |  ABC
 102  |  XYZ
--------------------------

我只想将结果作为in dtOnenot in dtTwo(dtOne-dtTwo)的数据

dtResult
-------------------------
  ID  |   Name 
--------------------------
 103  |  MNO
--------------------------

我怎样才能实现这一点。

2 个答案:

答案 0 :(得分:17)

为了让它更好用,使用Linq To DataSet可以轻松解决它。

DataTable table1= ds.Tables["table1"];
DataTable table2= ds.Tables["table2"];
var diff= table1.AsEnumerable().Except(table2.AsEnumerable(),
                                                    DataRowComparer.Default);

答案 1 :(得分:1)

LINQ query on a DataTable下的解决方案开始,我会尝试使用:

var dtOneData = from myRow in dtOne.AsEnumerable();
var dtTwoData = from myRow in dtOne.AsEnumerable();
var difference = dtOneData.Except(dtTwoData);