Ho una tabella utente con una maschera di bit che contiene i ruoli dell'utente. La query LINQ seguito restituisce tutti gli utenti i cui ruoli includono 1, 4 o 16.Come si aggiungono clausole 'where' dinamiche a una query linq?
var users = from u in dc.Users
where ((u.UserRolesBitmask & 1) == 1)
|| ((u.UserRolesBitmask & 4) == 4)
|| ((u.UserRolesBitmask & 16) == 16)
select u;
mi piacerebbe riscrivere questo nel metodo seguito per rendimenti tutti gli utenti dai ruoli dato così posso riutilizzare esso:
private List<User> GetUsersFromRoles(uint[] UserRoles) {}
Eventuali puntatori su come creare dinamicamente la mia query? Grazie
Apparentemente la classe PredicateBuilder è disponibile in due versioni: l'esempio del codice sorgente sul sito Web, che è © Albahari & O'Reilly, tutti i diritti riservati; e come parte di LinqKit, che è "sotto una licenza gratuita permissiva, il che significa che è possibile modificarlo a piacimento e incorporarlo nel proprio software commerciale o non commerciale". – Sjoerd
LinqKit è disponibile tramite NuGet. –