none
Menu Multinivel con Linq ASP.NET RRS feed

  • Pregunta

  • Hola! Estoy realizando un proyecto universitario y mi menu se genera desde SQLServer, pero al generarlo en mi vista no logro hacer que funcione ya que la coleccion siempre la regresa vacia.

    Mi Clase Menu:

    public class MenuEntity
        {
            public MenuEntity()
            {
                this.GruposDetalles = new HashSet<MenuEntity>();
            }
            
            public int IdGrupoDetalle { get; set; }
    
            public string Titulo { get; set; }
    
            public string Descripcion { get; set; }
    
            public int Orden { get; set; }
    
            public int IdGrupo { get; set; }
    
            public int IdPadre { get; set; }
            
            public string Icono { get; set; }
    
            public bool Estatus { get; set; }
    
            public virtual ICollection<MenuEntity> GruposDetalles { get; set; }
        }

    Mi Consulta SQL:

    public IEnumerable<GruposDetallesEntity> Listar()
            {
                IList<GruposDetallesEntity> lista = new List<GruposDetallesEntity>();
                    var query = (from m in db.Menu
                                 where (m.Estatus == true) && (m.IdPadre == null && m.IdGrupo == 1)
                                 select m).ToList();
                    foreach (var grupos in query)
                    {
                        lista.Add(new GruposDetallesEntity()
                        {
                            IdGrupoDetalle = grupos.IdGrupo,
                            Titulo = grupos.Titulo,
                            Descripcion = grupos.Descripcion,
                            Orden = grupos.Orden,
                            IdGrupo = grupos.IdGrupo,
                            IdPadre = grupos.IdPadre,
                            Icono = grupos.Icono,
                            Estatus = grupos.Estatus
                        });
                    }
                    return lista;
            }

    Estoy utilizando un proyecto en capas, con linq y ASP.NET MCV.

    Mi Problema esta en que no se como llenar mi ICollection para luego usarlos en la vista.


    José

    jueves, 9 de noviembre de 2017 2:36

Respuestas

  • hola

    si pones un breakpoint en el codigo puede validar que "query" tiene algun item ?

    que pasa si usas simplemente

    var query = (from m in db.Menu
                 select m).ToList();

    en ese caso obtienes datos ?

    de esta forma validas si el codigo consulta correctamente y el problema entonces esta en el filtro que aplicas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 10 de noviembre de 2017 14:04