Inner join com linq(entity framwork)
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
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
Curtidas 0
Melhor post
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
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
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]
[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
07/05/2014
Vlw jair, mas eu estou usando LINQ e é diferente do metodo comun. vlw mesmo!
GOSTEI 0
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";
}
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
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.
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