Link - executando join

292 palavras 2 páginas
Imagine que temos duas tabelas, "Perguntas"(IdPergunta, DsPergunta, AutorPergunta) e "Respostas"(IdResposta,IdPergunta,DsResposta, AutorResposta).Verifique que as duas se relacionam pelo campo idPergunta que seria "PAI" na tabela "Perguntas" e filho na tabela "Respostas", desta maneira temos um relacionamento de 1 para muitos, ou seja, eu tenho 1 pergunta para "N" respostas.

Em uma query simples de consulta no LINQ teriamos por exemplo a seleção das linhas da tabela "Perguntas", ficaria assim:

from x in Perguntas select x

Mas imagine que nós queremos trazer justamente as respostas que foram dadas para a pergunta de ID = 1.
No SQL, poderíamos apenas mencionar os campos de cada tabela, separando por virgula e colocando o nome da tabela antes, correto ? Ex:

Select p.idPergunta, p.dsPergunta, r.dsResposta from Perguntas p join Respostas r on p.idPergunta = r.idPergunta where p.idPergunta = 1

No Sql acima, nos retornaria todas as respostas dadas para a pergunta de id = 1 , mas no LINQ precisamos utilizar o comando SELECT NEW e especificarmos variáveis que receberão o valor dos campos trazidos na query. Veja como ficaria o caso acima no LINQ:

from x in Perguntas join y in Respostas on x.IdPergunta equals y.idPergunta where (x.idPergunta == 1)
Select new
{
pergunta = p.dsPergunta, resposta = r.dsResposta
}

Vocês podem perceber que sempre no LINQ ao utilizar o sinal de =, devemos fazer como a comparação no C# "==", dois iguais e devemos também substituir o "=" do join por equals.

Conclusão!
O LINQ é uma ferramenta que auxilia bastante no dia a dia, traz velocidade e quebra muitos galhos quando se trata de trabalhar com dados vindos do banco sem ter que ficar pesquisando novamente na base. Espero que tenham aproveitado bem esta dica. Até o próximo artigo. Ass: Alex

Relacionados

  • NÃOSEI
    1533 palavras | 7 páginas
  • Otimização de banco de dados
    5253 palavras | 22 páginas
  • Teste
    5431 palavras | 22 páginas
  • trabalho aula 1
    546 palavras | 3 páginas
  • 94360771 Tuning Oracle Completo
    6521 palavras | 27 páginas
  • Sistemas de Informação
    3984 palavras | 16 páginas
  • Dddddddddddd
    809 palavras | 4 páginas
  • MS-DOS
    3138 palavras | 13 páginas
  • Comandos linux
    4859 palavras | 20 páginas
  • conecimento
    2683 palavras | 11 páginas