簡體   English   中英

如何對強類型模型進行分組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM