This were the solution that I was looking for. Based on @user1949706's answer I selected all data from both tables with LINQ (also from different databases) and I placed it on memory.
To fully answer my question on how to do this with LINQ here it is:
//DB1
db1DataContext db1 = new db1DataContext();
//DB2
db2DataContext db2 = new db2DataContext();
//SELECT ALL DATA FROM DB1
var result1 = (from e in db1.Items
select e
).ToList();
//SELECT ALL DATA FROM DB2
var result2 = (from e in db2.Item2s
select e
).ToList();
//SELECT ALL ELEMENTS FROM DB2.TABLE THAT DO NOT EXISTS ON DB1.TABLE BASED ON EXISTING ID's
var resultFinal = ( from e in result1
where !(from m in result2
select m.Id).Contains(e.Id)
select e
).ToList();
I would also thank Robert Rouse on his anwser to this question and everybody else who tried to help.
Hope it helps someone else!