我想根據他們的角色過濾註冊用戶列表。我設法做到這一點,以便它顯示某個角色的用戶,但我想實現的是完全相反的,並且只顯示在該用戶組中而不是的用戶過濾器用戶列表asp.net標識
這是我擁有的代碼:
var users = UserManager.Users.ToListAsync();
var roleUsers = RoleManager.Roles.Single(a => a.Name.Equals("Super Admin")).Users;
var list = (from r in roleUsers
join u in users on r.UserId equals u.Id
select u);
更新
感謝@sjkm我已經能夠過濾掉與此
var users = UserManager.Users.ToList();
var roles = RoleManager.Roles.Where(a => a.Name != "Super Admin").ToList();
var userList = new List<IdentityUserRole>();
foreach (var role in roles)
{
userList.AddRange(role.Users.ToList());
}
var list = (from r in userList
join u in users on r.UserId equals u.Id
select u).Distinct();
return View(list);
超級管理員現在
我的問題是誰既是一個超級管理員和另一個角色,在此列表中顯示,所以我現在需要進一步篩選此列表,刪除任何超級管理員誰可能在另一個角色
我用戶還忘了提,這是使用asp.net身份2
有錯誤出現,當我嘗試構建**「錯誤'System.Linq.IQueryable'不包含'Users'的定義,也沒有擴展方法'Users'接受類型' System.Linq.IQueryable '(你是否缺少使用指令或程序集引用?)「** –
你應該提到你使用實體框架。我更新了代碼,現在就試試。 – sjkm
仍然不能得到它的工作,現在得到這個錯誤**「最好的重載方法匹配'System.Collections.Generic.List .AddRange(System.Collections.Generic.IEnumerable )'有一些無效參數「**,然後是**」參數1:無法從'System.Collections.Generic.List '轉換爲'System.Collections .Generic.IEnumerable 「** –