none
Select para multiplos servidores (Query em Linq) RRS feed

  • Pergunta

  • Olá amigos,

          tenho 3 servidores de dados e adicionei no projeto (.edmx), eu gostaria de saber como posso fazer 1 select para trazer as informações de usuário dos 3 servidores, pois preciso jogar a informação no Grid.

         Também preciso identificar quais os registros são iguais e trazer somente 1 deles.(Entre os servidores)

         Estou trabalhando com o .Net Framework 4 e SqlServer 2008 R2 .

    Obrigado!

    Obs.: Caso não tenha explicado direito é só me avisar!


    kaneda182

    quinta-feira, 1 de novembro de 2012 11:29

Todas as Respostas

  • Olá Kaneda,

    Tudo beleza?

    Vc tem três arquivos EDMX? Ou apenas um?

    Me parece que não é um servidor SQL clusterizado, certo?

    Se cada EDMS tiver uma instância SQL diferente, mas a mesma estrutura de banco de dados, vc criar três instâncias diferentes do seu ObjectContext, fazer as consultas, acumular os resultados em um List e depois executar um Distinct.

    Algo como o código abaixo:

        IEnumerable<Usuarios> result01 = null;
        IEnumerable<Usuarios> result02 = null;
        IEnumerable<Usuarios> result03 = null;
    
    
        using (var contexto1 = new msdnContextoEntities("connection string 01"))
        {
            result01 = from u in contexto1.Usuarios
                        select u;
        }
    
        using (var contexto2 = new msdnContextoEntities("connection string 02"))
        {
            result01 = from u in contexto2.Usuarios
                        select u;
        }
    
        using (var contexto3 = new msdnContextoEntities("connection string 03"))
        {
            result01 = from u in contexto3.Usuarios
                        select u;
        }
    
        List<Usuarios> allUsers = new List<Usuarios>(result01.Count() + result02.Count() + result03.Count());
    
        allUsers.AddRange(result01);
        allUsers.AddRange(result02);
        allUsers.AddRange(result03);
    
        var uniqueUsers = allUsers.Distinct();
    
    .

    []s

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

    sábado, 3 de novembro de 2012 12:24
    Moderador