I have two datatable, for example:
And I want with LINQ get rows from DT1 that are in DT2 that is
But, if in DT1 there are no rows that are in DT2, then DT1 must be clear!!! Its important.
This LINQ from join work a very long time:
DT1 = (From x In DT1.AsEnumerable() where (From a In DT1.AsEnumerable() Join b In DT2.AsEnumerable() On a(“ID”).ToString() Equals b(“ID”).ToString() select a).Contains(x) select x).CopyToDataTable()
In general we can do:
(From d1 in dt1.AsEnumerable
Where dt2.AsEnumerable.Any(Function (d2) d2("ID").toString.Trim.Equals(d1("ID").ToString.Trim))
Select r = d1).CopyToDataTable
Handle empty result described here:
[FirstAid] Handling of The source contains no DataRows exception - News / Tutorials - UiPath Community Forum
A general approach was described above
the LINQ statement is creating unneeded processing with introducing the where part and other points
Depending on some other factors also alternates are applicable e.g
- setoperation intersect / except can be done
- id list calculations
r is like a local variable on which d1 is assignes to
In some scenarios this line was more reliable (less compiler issues) as the short version
decide by your own, which variation you ant to use
Unable tO add the function, from methods in my Uipath
Copytodatatable Function will generate automatically when we Type
So,After closed parenthesis write it as .copytodatatable manually
Then it will work fine.
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.