none
Consulta com dois ou mais contextos em LINQ RRS feed

  • Pergunta

  • Boa tarde!

    Gostaria de saber se consigo usar 3 contextos de 3 banco de dados.

    No caso presciso comparar dados da tabela de um determinado banco com os dados de outra diferente em uma query.

    Fiz a query mas ate agora nao me retornou nada!

     Dim query = From seguranca In segurancaMira.USUARIOSENHA
                        Join ged In gedDae.Documento
                      On seguranca.USUARIOID Equals  ged.UsuarioID
                      Where (seguranca.USUARIOID = 1 And _
                      ged.FlagSigiloso = 1) Or ged.FlagSigiloso = 0
            Select New GedDAEPresentationModel With {
               .ModelKey = Guid.NewGuid()}
               .UsuarioID = ged.UsuarioID, _
               .DOCUMENTO = (From t In gedDae.Documento Where t.UsuarioID = seguranca.USUARIOID).FirstOrDefault()}
            Return query

    terça-feira, 24 de julho de 2012 19:07

Respostas

  • Olá Uallace,

    Infelizmente este recurso não é suportado. O EF só consegue trabalhar com objetos do banco de dados mapeados para o mesmo contexto e ele só consegue abrir conexão para um único banco de dados na mesma query.

    Neste caso vc tem duas opções:

    - Trazer os dados da consulta para memória e fazer os relacionamentos fora do banco de dados.

    - Fazer a consulta no SQL, encapsula-la em um procedure e mapear a procedure.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique
    Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil

    • Marcado como Resposta Uallace segunda-feira, 30 de julho de 2012 14:36
    terça-feira, 24 de julho de 2012 19:31
    Moderador

Todas as Respostas