Inner join com linq(entity framwork)

07/05/2014

0

Ola,
Quero fazer um select que retorne num datagridview o inner join entre 3 tabelas sendo elas, Emprestimo(principal), Livro e Aluno, na Emprestimo eu tenho os campos ID_livro e ID_Aluno e quero trazer no grid ao inves dos ID`s o nome do livro e o nome do aluno!
vlw,
Abrass
Jhond2

Jhond2

Responder

Post mais votado

08/05/2014

Simplificando


Dados_Entity db = new Dados_Entity();


var pesquisa = from e in db.EMPRESTIMOS

join l in db.LIVROS
on e.ID_LIVRO equals l.ID

join a in db.ALUNOS
on e.ID_ALUNO equals a.ID

orderby e.DATA_EMPRESTIMO
select new
{
e.ID,
e.DATA_EMPRESTIMO,
e.DATA_DEVOLUCAO,
a.NOME_ALUNO,
a.TEL_ALUNO,
l.NOME_LIVRO

};
var resultado = pesquisa.FirstOrDefault(x => true);

if (resultado != null)
{
GridView_Livros.DataSource = pesquisa.ToList();
GridView_Livros.DataBind();
}
else
{
GridView_Livros.DataSource = null;
GridView_Livros.DataBind();
lblMensagem.Text = "Não tem livros em Emprestimos";
}


Beleza, Shalom Adonai

Paulo Freire

Paulo Freire
Responder

Mais Posts

07/05/2014

Jair Souza

Verifique neste link :

[url]https://www.devmedia.com.br/forum/mostrar-a-descricao-do-perfil-na-coluna-do-gridview-e-nao-o-codigo-do-perfil/455354[/url]
Responder

07/05/2014

Jhond2

Vlw jair, mas eu estou usando LINQ e é diferente do metodo comun. vlw mesmo!
Responder

08/05/2014

Paulo Freire

Vamos lá:

Dados_Entity db = new Dados_Entity();

int wQuartel = Convert.ToInt16(dpQuarteis.SelectedValue);

var pesquisa = from p in db.PATRIMONIO

join i in db.SECAO
on p.ID_SECAO equals i.ID

join d in db.DEPARTAMENTOS
on p.ID_DEPARTAMENTO equals d.ID

where p.ID_SECAO == wQuartel
orderby p.DESCRICAO
select new
{
p.ID,
p.DESCRICAO,
p.MARCA,
d.DEPARTAMENTO
};
var resultado = pesquisa.FirstOrDefault(x => true);

if (resultado != null)
{
gbBens.DataSource = pesquisa.ToList();
gbBens.DataBind();
}
else
{
gbBens.DataSource = null;
gbBens.DataBind();
lblMensagem.Text = "Nenhum Bem Patrimonial cadastrado para esse Quartel Regional - CMSE";
}
Responder

08/05/2014

Elessandro Poças

Wellington

Eu utilizo da seguinte forma:

using (var ctx = new seuEntityCriado())
{

var consultaEmprestimo = from e in seucontexto.Emprestimo
where "algum parâmetro"
orderby e.Aluno.AlunoNome
Select new
{
e.Emprestimo.ID,
e.Aluno.AlunoNome,
e.Livro.LivroNome,
};
dgvConsultaEmprestimo.DataSource = consultaEmprestimo.ToList();

}

Pois você não precisa fazer um JOIN, pois o Enity Framework já faz isso para vc. Pois quando vc cria um contexto de uma determinada tabela do banco de dados ele já traz todos os relacionamentos da mesma.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar