gpt4 book ai didi

c# - 在 MVC EF 中导航多个关系

转载 作者:太空宇宙 更新时间:2023-11-03 15:05:55 28 4
gpt4 key购买 nike

刚开始使用 EF,不知道是我的想法不正确还是我只是遗漏了一些简单的东西。

enter image description here

我正在尝试在一个窗口中获取链接到 SendRule 的 Institution、SendRule 和 CrimeType 信息。

在 Controller 中,我像这样传递给模型数据:

var institution = await _context.Institution
.Include(i => i.Rules)
.ThenInclude(r => r.SendRule)
.ThenInclude(c => c.CategoriesToSend)
.ThenInclude(cr => cr.CrimeType)
.AsNoTracking()
.SingleOrDefaultAsync(m => m.InstitutionID == id);

在 View 中,我会像这样显示所有内容:

<dt>
@Html.DisplayNameFor(model => model.Name)
</dt>
<table class="table">
<tr>
<th>Rule Name</th>
<th>Cron</th>
<th>Categories</th>
</tr>
@foreach (var item in Model.Rules)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.SendRule.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.SendRule.Cron)
</td>
<td>
@foreach (var item2 in Model.Rules)
{
@Html.DisplayFor(modelThing => item2.SendRule.CategoriesToSend)
}
</td>
</tr>
}
</table>

但是我无法从 item2.SendRule.CategoriesToSend 导航到 CrimeType。是因为它是多对一的关系吗?我错过了什么?

最佳答案

老天,我傻了。而不是

@foreach (var item2 in Model.Rules)
{
@Html.DisplayFor(modelThing => item2.SendRule.CategoriesToSend)
}

应该是

@foreach (var item2 in item.SendRule.CategoriesToSend)
{
@Html.DisplayFor(modelThing => item2.CrimeType.Description)
}

关于c# - 在 MVC EF 中导航多个关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43590391/

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