Tengo una tabla de usuario con una máscara de bits que contiene las funciones del usuario. La consulta LINQ siguiente restituye todos los usuarios cuyas funciones incluyen 1, 4 ó 16.¿Cómo se agregan las cláusulas dinámicas 'where' a una consulta linq?
var users = from u in dc.Users
where ((u.UserRolesBitmask & 1) == 1)
|| ((u.UserRolesBitmask & 4) == 4)
|| ((u.UserRolesBitmask & 16) == 16)
select u;
me gustaría volver a escribir esto en el método siguiente para todos los usuarios rendimientos de los papeles dados por lo que puede volver a utilizarla:
private List<User> GetUsersFromRoles(uint[] UserRoles) {}
¿Alguna sugerencia sobre cómo construir dinámicamente mi consulta? Gracias
Aparentemente la clase PredicateBuilder está disponible en dos versiones: el ejemplo del código fuente en el sitio web, que es © Albahari & O'Reilly, todos los derechos reservados; y como parte de LinqKit, que se encuentra "bajo una licencia libre permisiva, lo que significa que puede modificarlo como lo desee e incorporarlo en su propio software comercial o no comercial". – Sjoerd
LinqKit está disponible a través de NuGet. –