2012-02-15 12 views
6

Ho due tabelle di dati come seguedifferenza di due DataTable in C#

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

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

voglio solo il risultato come dati che è in dtOne e not in dtTwo (Dtone-dtTwo)

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

COME POSSO raggiungere questo.

+0

è funziona per voi ... –

+0

Sì Pranay Grazie ... – Nithesh

risposta

14

per farlo funzionare è meglio usare LINQ to DataSet risolverà facilmente ..

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

partire con la soluzione ha mostrato sotto LINQ query on a DataTable, mi piacerebbe provare con:

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