我有兩個類: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