我的代码是:
public async Task<ActionResult> Index()
{
var teaching = db.Teachings.Include(d =>d.Course).Include(d=>d.Group).Include(d => d.User);
return View(await teaching.ToListAsync());
}
我想知道如何过滤某些角色,我的意思是,如果可以的话,如何仅过滤具有特定角色的用户。
我认为可能的解决方案可能是 ....Include(d => d.Users).Where(...)
,但我不知道如何比较我正在使用的具有特定角色的用户。
我的角色是教师、管理员或学生。
总之,只过滤角色为“老师”的用户。
最佳答案
假设您正在使用 ASP.net 提供的身份框架,您可以仅使用 UserManager 来实现这一点。
在UserManager中,有一个函数适合您,那就是GetUsersInRoleAsync(string roleName)。这将返回给您该角色的用户列表。
你可以这么做
var userThatYouWant = await _userManager.GetUsersInRoleAsync("RoleName");
瞧,该列表将包含具有您指定角色的所有用户。
这是假设您是否已正确初始化 _userManager。
关于c# - 查找具有特定角色的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44301484/