gpt4 book ai didi

c# - MVC3、Razor 和 EF5 : Child properties not displayed

转载 作者:行者123 更新时间:2023-11-30 22:19:55 25 4
gpt4 key购买 nike

好的,所以我有一个 Course 实体,它与 Industry 实体有多对一或零的关系。这意味着出于分类目的,类(class)可以指定或不指定行业。我通过 EF 创建了所有实体和模型,因此 Course 实体中存储的唯一链接是 IndustryId。

创建 Controller 时创建的默认 View 显示 IndustryId。

我现在要做的是改为显示描述,它是 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 => item.Industry.Description 行什么都不显示。有人知道为什么吗?

最佳答案

最可能的原因是您的查询中未填充 Industry 对象,因此为空。您可能需要将 Include("Industry") 添加到模型或 Controller 中的填充 LINQ 查询中,以预先加载该相关实体。

关于c# - MVC3、Razor 和 EF5 : Child properties not displayed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15300554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com