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 –