【发布时间】:2017-11-02 05:52:56
【问题描述】:
我的代码是:
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(...),但我不知道如何将我所扮演的用户角色与特定角色进行比较。
我的角色是教师、管理员或学生。
总之,只过滤角色为“老师”的用户。
【问题讨论】:
-
您需要在问题中包含表定义,包括它们之间的关系,而不是胡乱猜测。
-
我认为你应该检查你的模型。教师、学生和管理员之间存在逻辑差异。我认为您应该创建一个学生表和一个教师表。管理员实际上是一个角色,对您的模型没有任何意义。然后,您可以在 IdentityContext 中保持授权,同时您可以通过加入学生表(或教师表)来查询“教学”。
-
这是一个大学项目,我不能修改我的数据库表。我的老师将我们的教师、学生和管理员添加为一个角色,我无法改变这一点,我必须用它来管理自己。 @RuardvanElburg
标签: c# asp.net-mvc asp.net-identity user-roles