我有两个表:Users(user_id,name)和Records(record_id,record_time,user1_id,user2_id)。因此,对于每条记录,应该有两个用户。我想列出记录并显示用户1和用户2的用户名。现在,默认的View结构只能按ID显示一个相关的用户名。
如何检索记录的第二个用户的名称?
INDEX行动
public ActionResult Index()
{
var records = db.Records.Include(r => r.User);
return View(records.ToList());
}
INDEX视图
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.record_time)
</th>
<th>
@Html.DisplayNameFor(model => model.User.name)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.record_time)
</td>
<td>
@Html.DisplayFor(modelItem => item.User.name)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.record_id }) |
@Html.ActionLink("Details", "Details", new { id=item.record_id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.record_id })
</td>
</tr>
}
</table>
答案 0 :(得分:1)
映射不正确,您只映射了一个用户。您需要在不同的导航属性上映射两个用户。
class Record
{
public User User1 {get; set;}
public User User2 {get; set;}
}