Pessoal, boa tarde.
Estou fazendo uma view para exibir uma tabela. Quando uso o codigo abaixo no CadastroController e na view , funciona.
Codigo do Controller funcionando:
BancoDeDados.dcTseOEEDataContext bd = new BancoDeDados.dcTseOEEDataContext();
var teste = from it in bd.tbl_TPE_TipoEvento where it.tpe_Excluido == false select it;
ViewBag.TipoEvento = teste;
return View();
Codigo da view funcionando:
<tbody>
@foreach (var item in ViewBag.TipoEvento)
{
<tr>
<td>@item.tpe_ID</td>
<td>@item.gre_ID</td>
<td>@item.tpe_Descricao</td>
<td>@item.tpe_Classificacao</td>
<td>@Html.ActionLink("Editar", "TipoEventoEdit", new {idTpe = item.tpe_ID, idGre = item.gre_ID })</td>
</tr>
}
</tbody>
Porem, eu preciso que o resultado listado nessa view seja um join entre duas tabelas. Fiz o codigo abaixo no CadastroController, porem a view não funciona de jeito nenhum.
Novo codigo do controller:
BancoDeDados.dcTseOEEDataContext bd = new BancoDeDados.dcTseOEEDataContext();
var Producao = (from tpe in bd.tbl_TPE_TipoEvento
join gre in bd.tbl_GRE_GrupoEvento on tpe.gre_ID equals gre.gre_ID
where tpe.tpe_Excluido == false && gre.gre_Excluido == false
select new
{
tpe.tpe_ID,
tpe.gre_ID,
gre.gre_Descricao,
tpe.tpe_Descricao,
tpe.tpe_Classificacao,
tpe.tpe_Excluido
});//.ToList();
ViewBag.TipoEvento = Producao;
return View();
o ToList esta desabilitado no codigo pq achei q era ele, mas nao funciona mesmo assim. Achei estranho pq o primeiro exemplo funciona certinho.. e na view, que tem os mesmos campos, da o erro abaixo logo no primeiro campo do Foreach:
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ''object' não contém uma definição para 'tpe_ID''
Ja tentei mudar a chamada da viewbag para o exemplo abaixo, porem nao rolou tb:
<td>@item.tpe.tpe_ID</td>
<td>@item.tpe.gre_ID</td>
<td>@item.tpe.tpe_Descricao</td>
<td>@item.tpe.tpe_Classificacao</td>
Alguem sabe o q esta rolando ? E como exibir esse join de tabelas ?
Obrigado.