我将多张照片保存到同一pr_id
数据库中。每个细节都以不同的行输入。因此,在检索时,我需要为每个photo_id
输入最高或最后一次pr_id
。我如何在C#中做到这一点?
我的数据库表如下所示:
https://dev.office.com/reference/add-ins/outlook/1.6/Office.context.mailbox.item?product=outlook
我的观看代码:
@if (Model.Photos.Count > 0)
{
<div>
@foreach (var photo in Model.Photos)
{
@{ var last = Model.Photos.Last(); }
@Html.EditorFor(modelItem => last.photo_id)
</div>
}
答案 0 :(得分:0)
如果您要显示所有pr_ids及其最后一张照片,则应在Model.Photos
集合上进行分组,然后对分组的项目执行OrderBy
并调用{{1方法。
Last
这里我们只是打印@{
var grouped = Model.Photos.GroupBy(a => a.pr_id);
}
@foreach(var item in grouped)
{
<p>@item.Key</p>
<span>@item.OrderBy(a=>a.photo_id).Last().Path</span>
}
的分组项Key
。如果您想要pr实体的更多属性,请创建一个表示该数据的类,并在LINQ group by语句中使用该类。
假设pr_id
是所有pr_ids的所有照片记录