public TelaModelo ListarPorCodigo(long codigo) { using (var entities = databaseEntities.GetDB_LaborSafetyEntities()) { var query = (from ft in entities.FUNCIONALIDADE_TELA join f in entities.FUNCIONALIDADE on ft.CodFuncionalidade equals f.CodFuncionalidade join t in entities.TELA on ft.CodTela equals t.CodTela where t.CodTela == codigo select new { t.CodTela, t.Codigo, t.Nome, t.Descricao, f.CodFuncionalidade, DescricaoFuncionalidade = f.Descricao }).ToList(); TelaModelo result = new TelaModelo(); if (query.Count > 0) { result.Funcionalidades = new List <FuncionalidadeModelo>(); result.Codigo = query[0].Codigo; result.CodTela = query[0].CodTela; result.Descricao = query[0].Descricao; result.Nome = query[0].Nome; foreach (var funcionalidade in query) { FuncionalidadeModelo funcionalidadeModelo = new FuncionalidadeModelo(); funcionalidadeModelo.CodFuncionalidade = funcionalidade.CodFuncionalidade; funcionalidadeModelo.Descricao = funcionalidade.Descricao; result.Funcionalidades.Add(funcionalidadeModelo); } } return(result); } }