【发布时间】:2015-10-15 14:22:26
【问题描述】:
我需要为每个 ProductTypeName 获取前 2 个产品:
var productDetails = (from p in products
join po in productOrganisations
on p.Id equals po.ProductId
where po.OrganisationId == id
where p.ProductTypeId == (typeId > 0 ? typeId : p.ProductTypeId) //filter by type if specified
where p.IsLive
select new
{
Id = p.Id,
Name = p.Name,
SupplierName = p.Supplier.Name,
ProductTypeName = p.ProductType.Name,
ShortDescription = p.ShortDescription,
ProductTypeId = p.ProductTypeId,
DatePublished = p.DatePublished,
CurrencyId = p.CurrencyId,
})
.AsNoTracking()
.ToArray();
目前上述声明返回了我所有的产品,数百个。并且每个产品都有一个属性 ProductTypeName 。
我需要按此 ProductTypeName 进行分组,然后按发布日期降序获得每个组中的前两个。
有什么想法吗?
【问题讨论】:
-
使用take功能