[英]How to group a strongly typed model
我将模型传递给我的观点。 在此视图上,我正在显示一个表,并尝试用数据库中的信息列表填充该表。
我正在使用asp.net-mvc,实体框架,剃刀,C#和LINQ
但是我需要将它按某个列kpiID
分组。
这是表中的所有列。
kpiHistoryID
kpiID
startAmount
completedamount
endAmount
completeBy
comments
kpiID链接回KPI表,在这里我可以获取KPI的实际名称。
我如何精确地对数据进行分组,并可以在下面的@foreach
行中完成?
<tbody>
@foreach (var item in @Model.IPACS_Department.IPACS_Functions.SelectMany(m => m.IPACS_Processes).SelectMany(m => m.IPACS_Procedures).SelectMany(m => m.IPACS_KPIS).SelectMany(m => m.IPACS_kpiHistory))
{
<tr class="gradeX">
<td>
@item.IPACS_KPIS.name
</td>
<td>
@item.startAmount
</td>
<td>
@item.completedAmount
</td>
<td>
@item.endAmount
</td>
</tr>
}
</tbody>
这个:
@Model.IPACS_Department.IPACS_Functions.SelectMany(m => m.IPACS_Processes)
.SelectMany(m => m.IPACS_Procedures).SelectMany(m => m.IPACS_KPIS)
.SelectMany(m => m.IPACS_kpiHistory)
给出非规范化的kpiHistories列表,是吗? 如果您这样做,它不会给您想要的答案吗
thatList.GroupBy(x => x.kpiID)
我只能找出总和的方法。 根本无法与group by一起使用。
<tbody>
@foreach (var item in @Model.IPACS_Department.IPACS_Functions.SelectMany(m => m.IPACS_Processes).SelectMany(m => m.IPACS_Procedures).SelectMany(m => m.IPACS_KPIS))
{
<tr class="gradeX">
<td>
@item.name
</td>
<td>
@item.IPACS_kpiHistory.Select(m => m.startAmount).Sum()
</td>
<td>
@item.IPACS_kpiHistory.Select(m => m.completedAmount).Sum()
</td>
<td>
@item.IPACS_kpiHistory.Select(m => m.endAmount).Sum()
</td>
</tr>
}
</tbody>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.