Linq to Sql:只从db2 -table1中选择在DB2-table2中不存在的项
本文关键字:选择 DB2-table2 不存在 -table1 Sql to 只从 db2 Linq | 更新日期: 2023-09-27 17:50:45
我一直在研究如何在c#项目中正确实现下面的任务。
…
获取一个特定数据库表(db1)中存在但另一个特定数据库表(db2)中不存在的所有数据
两个表有共同的id
我已经面对了很多关于这个的帖子,但似乎没有一个能解决我的问题。任何帮助吗?编辑:
Select all data
on table_x from database_x
Where item_id from table_x are not found inside table_y from database_y
=>以列表格式返回数据
这是我一直在寻找的解决方案。根据@user1949706的答案,我从两个表中选择了LINQ(也来自不同的数据库)的所有数据,并将其放在内存中。
完整地回答我关于如何用LINQ做到这一点的问题:
//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();
我还要感谢Robert Rouse对这个问题的回答以及其他所有试图帮助我的人。
希望它能帮助别人!
根据这个答案,您可以使用LINQ连接不同数据库上的表。甚至可以跨服务器连接。