0
我的模式是一個相當直接的成員資格和角色模式一面過濾掉任何出現:LINQ到EF - 選擇很多,從衆多一對多
Users table:
UserId (PK)
UserName
etc...
Roles table:
RoleId (PK)
RoleName
UsersInRole table
UserId (FK to Users table)
RoleId (FK to ROles table)
所以,我們已經拿到了多對多的表UsersInRole以及其他兩個表。當我將模式添加到EF中時,生成的ORM代碼(和EF設計器)僅顯示用戶和角色(沒問題,EF管理多對多)。
所以,這是我的問題。我想列出所有沒有角色「超級管理員」的用戶。看起來像一個簡單的問題,只需在EF中使用SelectMany。問題是用戶可能有多個角色,其中之一是「超級管理員」。如果我使用SelectMany(如下所示),除了其他角色之外,我仍然會獲得擁有「超級管理員」的用戶。 SelectMany只適用於用戶有一個角色和角色是「超級管理員」
我試圖把SQL從LINQ到EF的工作,但沒有任何運氣那也是。
var usrQry = context.Roles.Where(r => r.RoleName != "Super Admin")
.SelectMany(r => r.Users);
任何幫助表示讚賞 - 在此先感謝。