使用 LINQ 在 2º 级别上层相关实体(一对多)的属性上获取空值



我的上下文Category包含一组SubCategories实体的实体,该实体具有一组Instruments实体。

我正在使用 Razor 语言在 cshtml 视图上创建一个引导痕迹导航。 对于给定的仪器(控制器中的详细信息方法(,我需要访问我的相关Category

我可以访问我的相关子类别,甚至可以访问SubCategory.CategoryId但我不知道为什么Category.Name给我 null。

代码:

<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"> <!-- Getting SubCategory.Category=NULL -->
@Html.ActionLink(Model.SubCategory.Category.Name, "Details", "Categories", new { id = @Model.SubCategory.CategoryId }, null)
<li class="breadcrumb-item">
@Html.ActionLink(Model.SubCategory.Name, "Details", "SubCategories", new { id = @Model.SubCategoryId }, null)
</li> 
<li class="breadcrumb-item active" aria-current="page">@Model.Name</li>
</ol>
</nav>

我通过在ViewBag中传递类别名称来解决它:

var CatName = from c in _context.Category
where c.Id == instrument.SubCategory.CategoryId
select c.Name;
ViewBag.catName = CatName.FirstOrDefault();

并使用传递给视图的 ViewBag 设置string @categoryName

最新更新