我有一个带有位掩码的User表,其中包含用户的角色.下面的linq查询返回其角色包括1,4或16的所有用户.
var users = from u in dc.Users where ((u.UserRolesBitmask & 1) == 1) || ((u.UserRolesBitmask & 4) == 4) || ((u.UserRolesBitmask & 16) == 16) select u;
我想将其重写为下面的方法,以返回给定角色的所有用户,以便我可以重用它:
private ListGetUsersFromRoles(uint[] UserRoles) {}
关于如何动态构建我的查询的任何指针?谢谢
您可以使用PredicateBuilder类.
PredicateBuilder已经在LINQKit NuGet包中发布
LINQKit是LINQ to SQL和Entity Framework高级用户的一组免费扩展.