我需要为每个ProductTypeName获取前2个产品:
目前以上语句返回所有产品,数以百计。每个产品都有一个属性ProductTypeName。
我需要按照ProductTypeName进行分组,然后按照datepublished降序获取每组中的前两个产品。
有什么想法吗?
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进行分组,然后按照datepublished降序获取每组中的前两个产品。
有什么想法吗?