我有两个类:Store
和Machine
。使用剃刀显示相关数据语法
现在我已经构建其中I显示关联于登录的用户的Stores
的图:
public async Task<IActionResult> Index()
{
var Tiendas = await _context.Stores.Where(t => t.Usuario == User.Identity.Name).Include(t => t.Machines).ToListAsync();
LiqIndexData Liquid = new LiqIndexData()
{
StoreL = Tiendas,
};
return View(Liquid);
}
在此代码我还添加asociated到每个Store
的Machines
。
的观点:
在我看来,我想目前,每个Store
,所有注册的Machines
的。对于此我使用NAV-突片
导航基于的Stores
<ul class="nav nav-pills">
@foreach (var item in Model.StoreL)
{
<li><a href="#@item.StoreID" data-toggle="tab">@item.StoreName</a></li>
}
</ul>
<div class="tab-content">
@foreach (var item in Model.StoreL)
{
<div class="tab-pane fade in active" id="@item.StoreID"></div>
}
存在的问题的数量选项卡:
信息在每个导航选项卡的主体示出:
我试图访问每个Machine
与每个相关的信息。为此我试图使用:
@foreach (var item in Model.StoreL)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Machines
.Where(m=>m.StoreID==item.StoreID))
</td>
但我不知道如何访问该属性。如果我尝试:
我得到:
“的IEnumerable”不包含“PropertyXYZ”,没有扩展方法“PropertyXYZ”接受式“的IEnumerable”的第一个参数可以是一个定义发现(您是否缺少使用指令或装配参考?)
有什么建议吗?
你不应该需要你的'Where()'调用; 'Machines'导航属性将自动按外键过滤。 – SLaks
您需要第二个嵌套循环 - 'foreach(item.Machines中的var机器){@ machine.PropertyXYZ}' –
没有'PropertyXYZ'是因为Where()'返回一个集合,集合没有该属性。 – derloopkat