Asp.Net .Net 5 Lambda LINQ 获取特定角色的用户数
Asp.Net .Net 5 Lambda LINQ get the number of users in a particular role
我正在使用 Asp.Net .Net5 和 Entity framework 5。我正在尝试计算基本用户的数量。 table aspnetuser 通过 aspnetuserRoles link table.
通过多对多关系连接到 aspnetRoles
我有 3 table
aspnetuser
aspnetroles
aspnetuserRoles = link table
public int GetNumberOfActiveBasicUsers()
{
var users = _context.Users
.Where(u => u.IsEnabled == true)
.Where(u => u.UserName != "AdminUser")
.Include(r => r.UserRoles)
.ThenInclude(r => r.Role)
//not sure what to put here
.Count();
return users;
}
aspnetuser table
id | username
--------------
1 | Jim
2 | Harry
3 | James
3 | Susan
aspnetRoles
id | name
----------
1 | admin
2 | standard
3 | Basic
aspnetuserRoles // link table
userId | roleId
----------------
1 | 1
2 | 2
3 | 3
4 | 3
代码应该 return 返回值为 2,因为有 2 个基本用户。
试试这个
return _context.UserRoles
.Where(ur => ur.User.IsEnabled && ur.Role.Name== "Basic")
.Count();
我正在使用 Asp.Net .Net5 和 Entity framework 5。我正在尝试计算基本用户的数量。 table aspnetuser 通过 aspnetuserRoles link table.
通过多对多关系连接到 aspnetRoles我有 3 table
aspnetuser
aspnetroles
aspnetuserRoles = link table
public int GetNumberOfActiveBasicUsers() { var users = _context.Users .Where(u => u.IsEnabled == true) .Where(u => u.UserName != "AdminUser") .Include(r => r.UserRoles) .ThenInclude(r => r.Role) //not sure what to put here .Count(); return users; }
aspnetuser table
id | username
--------------
1 | Jim
2 | Harry
3 | James
3 | Susan
aspnetRoles
id | name
----------
1 | admin
2 | standard
3 | Basic
aspnetuserRoles // link table
userId | roleId
----------------
1 | 1
2 | 2
3 | 3
4 | 3
代码应该 return 返回值为 2,因为有 2 个基本用户。
试试这个
return _context.UserRoles
.Where(ur => ur.User.IsEnabled && ur.Role.Name== "Basic")
.Count();