【发布时间】:2017-02-16 15:34:17
【问题描述】:
我正在使用 MVC 模板,并且有 User、Role 和 UserRole 模型和表。我可以毫无问题地添加和删除权限,但是当我在索引视图中列出当前 UserRoles 时,角色名称在列表中是连续的,而不是该用户的角色名称。
我的控制器非常简单
public ActionResult Index()
{
var userroles = db.UserRoles.Include(u => u.Users).Include(u => u.Roles).ToList();
return View(userroles);
}
这就是我的观点下降的地方
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.RoleId)
</td>
<td>
@Html.DisplayFor(modelItem => item.Users.DisplayName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Roles.Name)
</td>
对于显示的用户来说 RoleID 是正确的,但 item.Roles.Name 只是 Roles 表中按顺序排列的下一项。我在这里错过了什么?
如果这也有帮助,这里是 UserRole 模型:
public partial class UserRole
{
[Key]
[Column(Order = 0)]
public int UserId { get; set; }
[Key]
[Column(Order = 1)]
public int RoleId { get; set; }
public string ApplicationName { get; set; }
public virtual User Users { get; set; }
public virtual Role Roles { get; set; }
}
【问题讨论】: