2012-02-15 12 views
6

Mam dwie tabele danych następującoróżnica dwóch DataTables w C#

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

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

Chcę tylko wynik w postaci danych, która jest in dtOne i not in dtTwo (dtOne-dtTwo)

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

jak mogę osiągnąć to .

+0

jest to działa dla ciebie ... –

+0

Tak Pranay Thanku ... – Nithesh

Odpowiedz

14

dostać to działa, że ​​lepiej używać LINQ to DataSet będzie go łatwo rozwiązać ..

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

Począwszy roztworu wykazało pod LINQ query on a DataTable, chciałbym spróbować z:

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