我有两个数据表如下
dtOne
-------------------------
ID | Name
--------------------------
101 | ABC
102 | XYZ
103 | MNO
--------------------------
dtTwo
-------------------------
ID | Name
--------------------------
101 | ABC
102 | XYZ
--------------------------
我只想将结果作为in dtOne
和not in dtTwo
(dtOne-dtTwo)的数据
dtResult
-------------------------
ID | Name
--------------------------
103 | MNO
--------------------------
我怎样才能实现这一点。
答案 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);