Vous pouvez essayer de cette façon.
// Declare Data Table and Data View
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
DataTable dt3 = new DataTable();
DataTable dtTemp = new DataTable();
DataView dv = new DataView();
dt1.Columns.Add("Col1");
dt1.Columns.Add("Col2");
dt1.Columns.Add("Col3");
dt2.Columns.Add("Col1");
dt2.Columns.Add("Col2");
dt2.Columns.Add("Col3");
// Initialize Data Table and Data View
dt1.Rows.Add("A", "B", "C"); // Testing data for data table 1; actual data will come from your query
dt1.Rows.Add("E", "F", "G"); // ==
dt2.Rows.Add("A", "B", "C");
dt2.Rows.Add("U", "V", "W");// Testing data for data table 2; actual data will come from your query
dt2.Rows.Add("X", "Y", "Z");// ==
// Merge Data Table into temporary Data Table
dtTemp = dt1; //Initialize dt1 value in to dtTemp
dtTemp.Merge(dt2);// Merge it with dt2 you will get the
// Use Data View to get disticnt values
dv = new DataView(dtTemp);
dt3 = dv.ToTable(true, "Col1", "Col2", "Col3");// Remember, it is for intersection not for union