Разница двух таблиц данных в c # - PullRequest
7 голосов
/ 15 февраля 2012

У меня есть две таблицы данных следующим образом

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 ]

17 голосов
/ 15 февраля 2012

Чтобы заставить его работать, лучше использовать Linq To DataSet, чтобы решить это легко ..

DataTable table1= ds.Tables["table1"];
DataTable table2= ds.Tables["table2"];
var diff= table1.AsEnumerable().Except(table2.AsEnumerable(),
                                                    DataRowComparer.Default);
1 голос
/ 15 февраля 2012

Начиная с решения, показанного под LINQ-запросом к DataTable , я бы попробовал его с:

var dtOneData = from myRow in dtOne.AsEnumerable();
var dtTwoData = from myRow in dtOne.AsEnumerable();
var difference = dtOneData.Except(dtTwoData);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...