none
Consulta LINQ RRS feed

  • Question

  • Hola buen dia

    Una consulta, tengo una lista de una clase con la siguiente definición

    userId
    rolId
    permiso

    Lo que necesito hacer es si un usuario tiene el rol 5 y 10 para el mismo permiso solo mostrar el 10, o sea el 5 quitarlo de la lista

    Si tuviese algo como esto por ejemplo

    usuario1--- 5 --- Arg
    usuario1---10--- Arg
    usuario2---5--- Col

    Deberia quedarme en la lista

    usuario1---10--- Arg
    usuario2---5--- Col


    Muchas gracias

    Saludos
    Tuesday, February 11, 2020 5:54 PM

Answers

All replies

  • Hola AlejandroRicotti

     

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te comento que para que la comunidad de foros te pueda asesorar mejor, es necesario que nos compartas el form/code que estas desarrollando. Así la comunidad de este foro podrá ayudarte a corregir errores, sugerir mejoras y resolver dudas.

    Recuerda que en este foro no se resuelven tareas o proyectos escolares ni se desarrollan códigos en base a enunciados.

     

     

    Gracias por usar los foros de MSDN. 

     

    Diana Acuña

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    Tuesday, February 11, 2020 10:20 PM
    Moderator
  • hola

    Si el usuario puede tener mas de un rol, ese diseño que explicas es incorrecto, deberias tener una relacion muchos a muchos y no duplicar filas en la tabla

    Usuarios (tabla)
    UsuarioId PK
    Nombre
    
    Roles (tabla)
    RolId  PK
    Nombre
    
    UsuarioRoles (tabla)
    UsuarioId  PK
    RolId      PK

    la idea es que la tabla UsuarioRoles relaciones las entidades de usuario con los roles que le asignes

    no es correcto el diseño que has creado

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Tuesday, February 11, 2020 10:52 PM
  • hola

    Si el usuario puede tener mas de un rol, ese diseño que explicas es incorrecto, deberias tener una relacion muchos a muchos y no duplicar filas en la tabla

    Usuarios (tabla)
    UsuarioId PK
    Nombre
    
    Roles (tabla)
    RolId  PK
    Nombre
    
    UsuarioRoles (tabla)
    UsuarioId  PK
    RolId      PK

    la idea es que la tabla UsuarioRoles relaciones las entidades de usuario con los roles que le asignes

    no es correcto el diseño que has creado

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    Hola buen dia Leandro, antes que nada muchas gracias

    El diseño no esta hecho por mi, es algo que ya estaba definido

    Sin embargo en la base de datos el diseño es como vos indicas

    Tenes las tablas
    Usuarios
    Roles
    Permisos

    Lo que estaba mostrando no era el diseño de la tabla, si no la vista

    No estoy seguro como utilizar linq para este caso
    Ya que debería comparar que
    userId = userId
    permisoId = permisoId
    Y si para este caso existe el rol 5 y 10 el 5 quitarlo de la lista

    Muchas gracias

    Saludos


    Wednesday, February 12, 2020 12:35 PM
  • hola

    >>No estoy seguro como utilizar linq para este caso

    tienes que definir la relacion entre las tablas

    No se como usar Entity Framework, pero si usas code first

    Configure Many-to-Many Relationships in Code-First

    lo principal es definir bien el mapping entre las entidades

    saludo


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Wednesday, February 12, 2020 1:17 PM
  • hola

    >>No estoy seguro como utilizar linq para este caso

    tienes que definir la relacion entre las tablas

    No se como usar Entity Framework, pero si usas code first

    Configure Many-to-Many Relationships in Code-First

    lo principal es definir bien el mapping entre las entidades

    saludo


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Leandro

    Ya tengo la lista de la entidad con los datos cargados, lo que debería hacer es algo asi

    if (userRolePermissionEntities.Exists(x => x.UserId == UserId && x.RoleId == "5" && x.Permission.Description == Permission) && userRolePermissionEntities.Exists(x => x.UserId == UserId && x.RoleId == "10" && x.Permission.Description == Permission))
    	              userRolePermissionEntities.Remove(x => x.UserId == UserId && x.RoleId == "5" && x.Permission.Description == Permission);




    Wednesday, February 12, 2020 1:42 PM
  • Deleted
    Wednesday, February 12, 2020 2:19 PM