none
inner join com outra base RRS feed

  • Pergunta

  • Preciso fazer um Join com outra base, mas não consigo, gera um erro:

    var operador = (from c in help.Oper_OPERADOR
                            join user in corpText.USUARIO on c.USUARIO equals user.USUARIO
                            select new
                            {
                                c.USUARIO,
                                c.ID
                            }).ToList();

    //corpText.USUARIO esta em outro banco no mesmo servidor, e no projeto criei outro entiti para ele

    Gera este erro:

    Additional information: A expressão LINQ especificada contém referências a consultas associadas a diferentes contextos.


    Junior Santana

    terça-feira, 24 de março de 2015 20:05

Respostas

  • Junior,

    Minha sugestão é vc executar 2 consultas diferentes primeiramente, gerando como resultado 2 coleções de objetos.

    Na sequência vc utilizaria estes 2 retornos através de uma nova query LINQ, unificando desse modo os resultados.

    Espero ter ajudado.

    Abs


    • Editado Renato GroffeMVP quarta-feira, 25 de março de 2015 03:40
    • Sugerido como Resposta Renato GroffeMVP quarta-feira, 25 de março de 2015 03:40
    • Marcado como Resposta Jr_inc quarta-feira, 25 de março de 2015 12:31
    quarta-feira, 25 de março de 2015 00:36

Todas as Respostas

  • Junior,

    Minha sugestão é vc executar 2 consultas diferentes primeiramente, gerando como resultado 2 coleções de objetos.

    Na sequência vc utilizaria estes 2 retornos através de uma nova query LINQ, unificando desse modo os resultados.

    Espero ter ajudado.

    Abs


    • Editado Renato GroffeMVP quarta-feira, 25 de março de 2015 03:40
    • Sugerido como Resposta Renato GroffeMVP quarta-feira, 25 de março de 2015 03:40
    • Marcado como Resposta Jr_inc quarta-feira, 25 de março de 2015 12:31
    quarta-feira, 25 de março de 2015 00:36
  • Levando em conta que as bases estão no mesmo servidor, é possível sim:

    Exemplo:

    select *
    from Db1.dbo.Clients c
    join Db2.dbo.Messages m on c.ClientId = m.ClientId

    usando linq, você teria que instanciar contextos de conexões diferentes, e depois relaciona-los.

    Ou você usa um SqlCommand e passa o comando puro do SQL que eu mencionei.


    Douglas Franco www.dzfweb.com.br

    quarta-feira, 25 de março de 2015 00:56