好的,所以我有一个课程实体与Industry实体有多对一或零关系。这意味着,为了分类目的,课程可以指定或不指定行业。我通过EF创建了所有实体和模型,因此存储在Course实体中的唯一链接是IndustryId。
创建Controller时创建的默认视图显示IndustryId。
我现在要做的是显示Description,这是Industry实体的属性。这是我的代码:
@foreach (var item in Model)
{
<tr>
<td><a href="@Url.Action("Details","Course", new { id=item.Id })"><img class="media-object" data-src="holder.js/64x64" /></a></td>
<td>@Html.DisplayFor(modelItem => item.Name)</td>
<td>@Html.DisplayFor(modelItem => item.Description)</td>
<td>@Html.DisplayFor(modelItem => item.Industry.Description)</td>
<td>@Html.DisplayFor(modelItem => item.Author)</td>
<td>
<a href="@Url.Action("Edit","Course", new { id=item.Id })"><i class="icon-edit"></i> Modify</a>
<a href="@Url.Action("Delete","Course", new { id=item.Id })"><i class="icon-trash"></i> Delete</a>
</td>
</tr>
}
现在问题是 @ Html.DisplayFor(modelItem =&gt; item.Industry.Description 这一行没有显示任何内容。有谁知道为什么?
答案 0 :(得分:3)
最可能的原因是您的查询中未填充Industry对象,因此为null。您可能需要在模型或控制器中的填充LINQ查询中添加Include("Industry")
以急切加载该相关实体。