Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

junior_jaco

consulta com tabelas associativas - Entity Framework

Recommended Posts

Boa tarde pessoal,

Estou iniciando no desenvolvimento com o entity e cair em uma situação com uma consulta no qual não


estou sabendo como trazer os dados. Estou desenvolvendo um menu dinâmico, no qual trara os itens a


depender do perfil do usuario. Eu possuo 5 tabelas: usuario, usuarioPerfil(Tabela associativa),


perfil, perfilFuncionalidade(Tabela associativa) e funcionalidade.

Eu preciso trazer as funcionalidade de um determinado usuario com determinado perfil.

Alguem teria alguma ideia de como posso fazer isso? Já tentei de varias maneiras e não consigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce ta querendo um consulta que traga o Usuario, o Perfil e as Funcionalidades? ou voce ja ta fazendo essa consulta e nao sabe como jogar no menu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Voce ta querendo um consulta que traga o Usuario, o Perfil e as Funcionalidades? ou voce ja ta fazendo essa consulta e nao sabe como jogar no menu?

 

Estou querendo trazer o Usuario, Perfil e as Funcionalidades.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc chama de tabelas associativas uma tabela que traz os dados tanto de uma tabela quanto da outra juntos e relacionados, é isso mesmo? Se entendi direito essas tabelas associativas não são necessárias.

 

Bastaria você criar campos de chave para fazer os relacionamentos (Primary Keys, Foreign Keys etc)

 

Depois e só consultar com inner join quando precisar associar os dados.

 

Qual seu BD?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc chama de tabelas associativas uma tabela que traz os dados tanto de uma tabela quanto da outra juntos e relacionados, é isso mesmo? Se entendi direito essas tabelas associativas não são necessárias.

 

Bastaria você criar campos de chave para fazer os relacionamentos (Primary Keys, Foreign Keys etc)

 

Depois e só consultar com inner join quando precisar associar os dados.

 

Qual seu BD?

 

Como eu disse no titulo, estou utilizando o entity framework, por isso a dificuldade em trazer os dados. Estou utilizando o mysql.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahhh tah, acabei nao prestando atencao. Ja que esta o usando o entity nao sei como te ajudar, sei o que eh, mais ainda nao trabalhei com isso, desculpe.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Consegui fazer algo, porém, travei na outra parte... Estou com duvidas no seguinte código:

 

 public DataTable getMenu(int idUsuario)

        {
            DataTable retorno = null;
            List<tfuncionalidade> listaFunc = new List<tfuncionalidade>();
            List<tusuario> listUsuario = new List<tusuario>();
            List<tperfil> listPerfil = new List<tperfil>();


            try
            {
                using (segEntities context = new segEntities())
               {


                   //Aqui eu obtenho o usuario e seus perfis.
                   var perfil = context.tusuario.Include("tperfil").Where(c => c.ID_USUARIO == idUsuario).ToList();
                    
                   
                   //percorro o objeto removendo os id's dos perfis e inserindo em uma lista do de entidades perfil
                    foreach (var item in perfil)
                    {
                        foreach (var item1 in item.tperfil)
                        {
                            tperfil itemPerfil = (tperfil)item1;
                            listPerfil.Add(itemPerfil);
                        }
                    }


              }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return retorno;
        }

 

Agora só falta fazer uma consulta pra trazer as funcionalidades relacionado aos perfis, porém não estou conseguindo fazer com mais de um id.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.