RSo*_*erg 4 c# linq linq-to-sql
我的应用程序中有2个数据上下文(不同的数据库),需要能够在上下文中查询上下文A中的表,并在上下文中的表中使用右连接.如何在LINQ2SQL中执行此操作?
为什么?:我们正在使用SaaS产品来跟踪我们的时间,项目等,并希望向此产品发送新的服务请求,以防止我们的团队重复数据输入.
上下文A:此数据库存储服务请求信息.它是第三方数据库,我们无法更改此数据库的结构,因为它可能会在下游出现意外的不可支持的后果.
上下文B:此数据存储已处理的服务请求的"日志"数据.我和我的团队可以完全控制这个数据库的结构等.未处理的服务请求应该进入这个数据库,另一个进程会将其识别为未处理并将记录发送到SaaS产品.
这是我想要修改的查询.我最初能够做一个!list.Contains(c.swHDCaseId),但这不能处理超过2100个项目.有没有办法将连接添加到其他上下文?
var query = (from c in contextA.Cases
where monitoredInboxList.Contains(c.INBOXES.inboxName)
//right join d in contextB.CaseLog on d.ID = c.ID....
select new
{
//setup fields here...
});
Run Code Online (Sandbox Code Playgroud)
您可以尝试使用GetTable命令.我认为这首先会加载所有contextB.TableB的数据,但不是100%肯定.我没有设置环境或测试这个,所以让我知道它是否工作=)
from a in contextA.TableA
join b in contextB.GetTable<TableB>() on a.id equals b.id
select new { a, b }
Run Code Online (Sandbox Code Playgroud)