Pregunta

No estoy seguro de que me gusta LINQ consulta sintaxis ... es simplemente no es mi preferencia. Pero no sé lo que esta consulta se vería como el uso de las expresiones lambda, alguien puede ayudarme?

from securityRoles in user.SecurityRoles
from permissions in securityRoles.Permissions
where permissions.SecurableEntity.Name == "Unit" && permissions.PermissionType.Name == "Read"
orderby permissions.PermissionLevel.Value descending
select permissions

Hay una relación de muchos a muchos entre los usuarios y los roles de seguridad adicional que hace que este confuso.

Gracias! Kelly

¿Fue útil?

Solución

De esta manera:

user.SecurityRoles.SelectMany(securityRoles => securityRoles.Permissions)
                  .Where(permissions => permissions.SecurableEntity.Name == "Unit" && permissions.PermissionType.Name == "Read")
                  .OrderByDescending(permissions => permissions.PermissionLevel.Value)

Otros consejos

        user.SecurityRoles.SelectMany(securityRoles => securityRoles.Permissions,
                                      (securityRoles, permissions) => new {securityRoles, permissions}).Where(
            @t => permissions.SecurableEntity.Name == "Unit" && permissions.PermissionType.Name == "Read").OrderByDescending(
            @t => permissions.PermissionLevel.Value).Select(@t => permissions)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top