Remove rows that matches with another DT

HI all,
I have two datatable DT1 and DT2 .DT1 has 2 columns name ConversationID and WorkItemID .
DT2 has 4 ConversationID , WorkItemID ,Column3 and Coumn4 .I need remove rows from DT2 where ConversationID , WorkItemID matches with DT1 .

I tried invoke coke but not able to do it

Dim datatable1 As DataTable = DT1
Dim datatable2 As DataTable = DT2

Dim matchingRows = From row1 In datatable1.AsEnumerable()
Join row2 In datatable2.AsEnumerable()
On row1.Field(Of String)(“conversationID”) Equals row2.Field(Of String)(“conversationID”) And
row1.Field(Of String)(“workItemID”) Equals row2.Field(Of String)(“workItemID”)
Select row2

For Each matchingRow In matchingRows.ToList()
datatable2.Rows.Remove(matchingRow)
Next

Hi,

How about the following sample?

arrT = dt1.AsEnumerable.Select(Function(r1) Tuple.Create(r1(0).ToString,r1(1).ToString)).ToArray()

arrDr = dt2.AsEnumerable.Where(Function(r) not arrT.Contains(Tuple.Create(r(0).ToString,r(1).ToString))).ToArray()

Sample20230829-1aL.zip (3.3 KB)

Regards,

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.