Retorno da List
17/09/2014
0
Como a lista é do tipo Pessoa, não tenho acesso do controle, a os dados: "funcao = f.descricao" e "empresa = e.razao_social".
public List<Pessoa> Listar()
{
try
{
using (Conexao Con = new Conexao())
{
return (from p in Con.Pessoa
join f in Con.Funcao on p.Funcao_codigo equals f.codigo
join e in Con.Empresa on p.Empresa_codigo equals e.codigo
select new
{
matricula = p.matricula,
foto = p.foto,
nome = p.nome,
funcao = f.descricao,
empresa = e.razao_social
});
//return Con.Pessoa.OrderByDescending(d => d.idPessoa).ToList();
}
}
catch
{
throw;
}
}
Eduardo Silva
Posts
17/09/2014
Joel Rodrigues
17/09/2014
Eduardo Silva
[Table("Pessoa")]
public class Pessoa
{
[Key] //chave primaria
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column("idPessoa")]
public int idPessoa { get; set; }
[Column("matricula")]
public int matricula { get; set; }
[Column("Funcao_codigo")]
public int Funcao_codigo { get; set; }
[Column("Empresa_codigo")]
public int Empresa_codigo { get; set; }
}}
Aonde eu tenho o ID da função e o código da empresa!
Eu teria que criar uma outra classe? com os valores que eu preciso?
18/09/2014
Joel Rodrigues
A primeira é adicionar as propriedades Funcao e Empresa, desses tipos, como eu citei antes.
A segunda é criar um View Model para modelar essa classe Pessoa já contendo a descrição da função e da empresa, visto que o objetivo de ter essas descrições no objeto é apresentar esses dados para o usuário.
Veja este post do MVP em ASP.NET Eduardo Pires sobre View Models, creio que vai lhe ajudar: [url:descricao=ASP.Net MVC – View Model Pattern – Quando e como utilizar?]http://eduardopires.net.br/2013/08/asp-net-mvc-view-model-pattern-quando-e-como-utilizar/[/url]
18/09/2014
Eduardo Silva
Eu fiz dessa forma e funcionou de boa, só não sei se é a melhor alternativa, que que eu chamo o busca função e o busca empresa!
De qualquer forma esta funcionando :)
pessoaEmpresaFuncao Model = new pessoaEmpresaFuncao();
Model.idPessoa = il.idPessoa;
Model.matricula = il.matricula;
Model.nome = il.nome;
Model.foto = il.foto;
Funcao f = c.buscaFuncao(il.Funcao_codigo);
if (f != null) {
Model.funcao = f.descricao;
}
else
{
Model.funcao = "Em branco";
}
Empresa e = c.buscaEmpresa(il.Empresa_codigo);
if (e != null)
{
Model.empresa = e.razao_social;
}
else
{
Model.empresa = "Em branco";
}
listaPessoas.Add(Model);
Clique aqui para fazer login e interagir na Comunidade :)