Linq 无法连接来自不同上下文的实体

Linq 无法连接来自不同上下文的实体,linq,entity-framework,Linq,Entity Framework,我有两个连接到两个不同数据库的上下文类,所以我尝试在这些实体之间进行连接,但当我写: RackJoinList rjlist = new RackJoinList(); var racks = from rack in tms.TMSRacks .Where(a=>a.Technology.Tag.ToUpper().StartsWith(q.ToUpper()) || (q ==null)) select rack; rjlist.

我有两个连接到两个不同数据库的上下文类,所以我尝试在这些实体之间进行连接,但当我写:

RackJoinList rjlist = new RackJoinList();
var racks =  from rack in tms.TMSRacks
             .Where(a=>a.Technology.Tag.ToUpper().StartsWith(q.ToUpper()) || (q ==null))
             select rack;

rjlist.Racks = racks.ToList();

var resources = from resource in entities.Resources join c in rjlist.Racks.AsQueryable()
on resource.RESOURCEID == 

我无法加入resource和rjlist.Rack,有人建议吗?

尝试在resource.RESOURCEID等于而不是
=
上使用
,如错误所示,您不能跨两个数据库实例加入。您可以在一个数据库中添加一个链接表,然后将其加入。或者,如果知道查询一侧的记录数相对较低(低于2000),则可以从第一个表中获取ID,然后使用.Contains方法生成IN子句,而不是使用联接。否则,您将无法将两个表中的所有记录加载到内存中,然后使用LINQ连接到对象(这可能是性能瓶颈)。

您看到的错误是什么?为什么不起作用?你期望它做什么,它没有做什么?最后一行似乎不完整。如果我尝试在上述代码“on resource.RESOURCEID==c.SOMETHING”的末尾编写以下内容,我就无法引用==!!后面的c!!