Olá pessoal,
Como não encontrei um grupo exclusivo para o Entity Framework achei que aqui seria o lugar ideal.
Eu estou com um certo problema para publicar dados de duas tabelas relacionadas usando Entity Framework em ASP.NET MVC.
No meu projeto MVC, se seu fizer o meu ActionResult da seguinte maneira:


public ActionResult Index()
{
var pedidos = from ped in entities.Pedidos
select new {ped.Numero, ped.Clientes.Nome};
return View(pedidos);
}

E na View mandar exibir o Numero e o Nome, dá erro dizendo que o campo Nome é um objeto não instanciado.

Porém, se eu fizer em WebForms o seguinte: criar uma gridview numa pagina e no codigo carregar a mesma instrução acima e passar para o DataSource do GridView, funciona sem problemas.

Tem alguma solução para o caso do MVC?
Uma solução que encontrei foi criar uma classe parcial do objeto da entidade acrescentando o campo do relacionamento, mas dá um certo trabalho.

Abraços

Exibições: 94

Respostas a este tópico

Olá André,

Neste caso vc deve utilizar o include, pois o EF é lazy load, então ele não carrega automaticamente os objetos relacionados.

Ficaria assim:
public ActionResult Index()
{
var pedidos = from ped in entities.Pedidos.Include("Clientes")
select new {ped.Numero, ped.Clientes.Nome};
return View(pedidos);
}

RSS

© 2019   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço