【发布时间】:2010-07-06 01:09:48
【问题描述】:
我在 VB.NET LINQ 中有一项具有挑战性的任务。 我有来自不同服务器的 2 个数据库。我无法链接数据库。数据从数据库中检索为:
DB1
Client_ID Engagement_ID 启用说明
- 600 10 真实公司1
- 600 20 虚假公司2
- 700 10 真正的公司3
- DB2
- Client_ID Engagement_ID 已启用说明
- 600 5 真实公司1
- 600 10 虚假公司2
- 500 30 真实公司3
在前端,我需要添加存在于 DB1 中但不存在于 DB2 中的客户参与。由于无法更新数据库,我进行 API 调用以添加约定。 在此示例中,我需要将 DB1 的第二条记录添加到 DB2,因为 DB2 中存在客户 ID 600,而 DB2 中不存在客户 ID 600 的参与 ID 20。我无法将 DB1 的第三条记录添加到 DB2,因为 DB2 中不存在客户端 ID 700。 我需要 LINQ 查询来返回 DB1.client_id = DB2.Client_ID 和 DB1.Engagement_ID DB2.Engagement_ID 的记录。如果 LINQ 查询返回数据表或某些数据结构中的记录,我可以遍历记录并进行 api 调用,并将客户端 ID、参与 ID、启用和描述作为参数传递以更新 DB2。 请帮我解决这个问题。我尝试这样做,但 LINQ 允许等值连接,但我无法让它为 DB1.client_id = DB2.Client_ID 和 DB1.Engagement_ID DB2.Engagement_ID 工作。
此任务的 T SQL 是:
select * from DB1
left join DB2 on DB1.client_ID = DB2.client_ID
and DB1.Engagement_ID = DB2.Engagement_ID
where DB2.CLient_ID is null and DB2.Engagement_ID is null
and DB1.client_id in (select client_id from DB2)
我正在尝试将此 T SQL 转换为 LINQ
提前致谢
【问题讨论】:
-
我重新表述了这个问题并再次将其发布到stackoverflow.com/questions/3189631/linq-to-objects/… 以获得更好的答案
标签: asp.net linq linq-to-objects