Разница двух DataTables в c#
у меня есть две таблицы данных следующим образом
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
--------------------------
как я могу добиться этого .
2 ответов
чтобы заставить его работать, лучше использовать Linq to DataSet..
DataTable table1= ds.Tables["table1"];
DataTable table2= ds.Tables["table2"];
var diff= table1.AsEnumerable().Except(table2.AsEnumerable(),
DataRowComparer.Default);
начиная с решения, показанного в разделе запрос LINQ на DataTable, Я бы попробовал с:
var dtOneData = from myRow in dtOne.AsEnumerable();
var dtTwoData = from myRow in dtOne.AsEnumerable();
var difference = dtOneData.Except(dtTwoData);