É possível fazer uma consulta com joins entre dois contextos diferentes (tabelas de bancos diferentes)?
Por exemplo:
var ctx1 = new ContextA();
var ctx2 = new ContextB();
var produtos = (from ctx1.produtos
select new Produto()).Distinct().ToList();
var compras = (from ctx2.clientes c
join produtos p on c.clienteID equals p.idCliente
select new Compra{}).Distinct().ToList();