none
linq entre duas tabelas esta trazendo resultado errado RRS feed

  • Pergunta

  • Estou usando entity framework, sempre faço linq com duas tabelas assim :

    meuEntities entidade = new meuEntities();

    var result =(from a in entidade.tabelaA

                       from b in entidade.tabelaB

                       where a.id == b.id &&

                                a.nome == nome || a.primeironome == nome || a.segundonome == nome

                      select new { a.nome,a.segundonome,b.descricao}.tolist();

    Ele é para me trazer somente um registro ele esta trazendo 11 registros, os dados da tabela a estão corretos mais da tabela b não, o que pode ser ?


    Junior

    segunda-feira, 1 de abril de 2013 19:04

Todas as Respostas

  • desculpa pessoal já resolvi não imaginei que eu pudesse colocar () entre o && e os ||

    Junior

    segunda-feira, 1 de abril de 2013 19:11
  • Sim Junior,

    Você pode fazer exatamente isso que falou para dar apenas duas condições:

                      var result =(from a in entidade.tabelaA
    
                       from b in entidade.tabelaB
    
                       where a.id == b.id &&
    
                                (a.nome == nome || a.primeironome == nome || a.segundonome == nome)
    
                      select new { a.nome,a.segundonome,b.descricao}.tolist();


    Atenciosamente, Samuel dos Anjos

    segunda-feira, 1 de abril de 2013 23:56