根据成本从每个类别中选择一个项目
本文关键字:选择 项目 一个 | 更新日期: 2023-09-27 18:30:39
我想从每个成本最低的类别中选择五个项目,我收到一个错误,请帮我解决这个问题
var packageId = objentity.PackageGalleries.
Where(p => p.ParentCategory != "Indian"
&& p.ParentCategory != "International").
OrderBy(p => p.PackageCost)
.GroupBy(p => p.ParentCategory).FirstOrDefault();
它只从一个类别中选择一个项目
在我通过的观点中
@foreach (var item in Model)
{
<a href="javascript:;">
<img src="~/Content/JetJourney/img/@item.FileName" />
<div>
<p>@item.PackageName, Starting Price @item.PackageCost *</p>
<br />
</div>
</a>
}
您可以按ParentCategory
对数据进行分组,并在该组中按PackageCost
对分组数据进行排序。这应该给你预期的输出:-
var packageId = objentity.PackageGalleries
.Where(p => p.ParentCategory != "Indian" &&
p.ParentCategory != "International")
.GroupBy(p => p.ParentCategory)
.Select(x => x.OrderBy(p => p.PackageCost).FirstOrDefault())
.ToList();
更新:
对于您的问题,尽管我从未遇到过此类问题,但这可能是由于根据这篇文章延迟执行 LINQ。您可以使用更新后的ToList()
强制执行查询。