0

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

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 == 

我无法加入资源和 rjlist.Rack,有人可以建议吗?

4

2 回答 2

1

尝试使用on resource.RESOURCEID equals而不是==

于 2013-08-09T13:21:51.743 回答
1

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

于 2013-08-09T13:23:51.933 回答