Inner join com linq(entity framwork)
07/05/2014
0
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
Post mais votado
08/05/2014
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
Mais Posts
07/05/2014
Jair Souza
[url]https://www.devmedia.com.br/forum/mostrar-a-descricao-do-perfil-na-coluna-do-gridview-e-nao-o-codigo-do-perfil/455354[/url]
07/05/2014
Jhond2
08/05/2014
Paulo Freire
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";
}
08/05/2014
Elessandro Poças
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.
Clique aqui para fazer login e interagir na Comunidade :)