0
我有一个LINQ查询LINQ查询条件如下:基于条件
var query = from r in Context.Role()
join rg in Context.RoleGroup() on r.RoleId equals rg.FkRoleId
where r.RoleName != "guests" && r.RoleName != "SystemAdmin"
select rg;
不过,我需要一个额外的条件包括,该SystemAdmin不应排除根据外部条件(比如,登录在用户中是超级用户)。
至于建议here,我修改了查询象下面这样:
var query = from r in Context.Role()
join rg in Context.RoleGroup() on r.RoleId equals rg.FkRoleId
where r.RoleName != "guests" && (userId == 1 || r.RoleName != "SystemAdmin")
select rg;
但我仍然可以在输出中看到SystemAdmin作用,即使用户id不是1我怎样才能得到需要的结果?
如果使用标识不为1,那么你必须'r.RoleName = “客人” && (false || r.RoleName!=“SystemAdmin”)'这与你的第一个条件相同。这意味着用户ID等于1 –