我正在使用MVC模板,并拥有User,Role和UserRole模型和表。我可以毫无问题地添加和删除权限,但是当我在索引视图中列出当前的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>
这是我的观点落下的地方
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; }
}
对于显示的用户,RoleID是正确的,但item.Roles.Name只是按顺序在Roles表中的下一个项目。我在这里缺少什么?
以下是UserRole模型,如果这也有帮助:
net 4.6.1
答案 0 :(得分:0)
(代表OP发布)。
我发现问题存在于数据表中,其中UserID和RoleId没有关联回用户和角色表。希望这可以帮助别人避免我的错误。