我有两张表tbl_role_master
和tbl_user_master
。
tbl_role_master
具有以下值
role_id role rolevalue
1 admin 1
2 gen 2
3 test1 4
4 test2 8
5 test3 16
rolevalue
含有fibonacciseries ..
tbl_user_master
包含以下值
user_id user_name rolevlue_consolidated
1 user1 15
2 user2 3
3 user3 7
rolevlue_consolidated
在rolevalue
表格中添加了tbl_role_master
的组合
例如:user1的15具有admin,gen,test1和test2
现在我想要一个linq查询来根据tbl_user_master
对于ex,如果我传递user_id
2,则选择查询应该返回
admin
gen
我有SQL查询 -
select
role
from
tbl_rol_master
WHERE (
select
rolevalue_consolidated
from
tbl_user_master
where
User_Id=" + userId + "
)
答案 0 :(得分:0)
假设您有两个列表,一个包含所有角色,另一个包含所有用户,您可以执行以下操作:
var userRoles = roles.Where(role => (role.RoleValue &
users.First(user => user.Id == YourUserId) == role.RoleValue);
返回一个列表,其中包含具有给定用户ID的用户的所有已分配权限。