Inner join com linq(entity framwork)

.NET

07/05/2014

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

Curtidas 0

Melhor post

Paulo Freire

Paulo Freire

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
GOSTEI 1

Mais Respostas

Jair Souza

Jair Souza

07/05/2014

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]
GOSTEI 0
Jhond2

Jhond2

07/05/2014

Vlw jair, mas eu estou usando LINQ e é diferente do metodo comun. vlw mesmo!
GOSTEI 0
Paulo Freire

Paulo Freire

07/05/2014

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";
}
GOSTEI 0
Elessandro Poças

Elessandro Poças

07/05/2014

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.
GOSTEI 0
POSTAR