我可以直接在剃刀视图中从另一个表进行聚合计算吗?

时间:2018-05-29 05:50:18

标签: asp.net-mvc linq razor aggregate

代码片段示例:

控制器:

var author = context.Authors.Include(a => a.Books);

razorview:

@foreach (var item in Model)
{
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.Author)
    </td>
    <td>
        @item.BooksNavigation.Id.COUNT()
    </td>
</tr>
}

我需要作者在屏幕上的结果:

Author   Books
-------  -----
Author1    3
Author2    4
...

那么,是否可以简化Linq,不要直接在屏幕上创建额外的viewmodel和COUNT()?

我根据答案进行了一些修改

1 个答案:

答案 0 :(得分:0)

您需要显示图书数量,

@foreach (var item in Model)
{
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.Author)
    </td>
    <td>
        @item.Books.COUNT()
    </td>
</tr>
}