我有一个 ProductDetailDTO 类型的列表。List<ProductDetailDTO> productDTOs;public class ProductDetailDTO{ public int ProductId { get; set; } public string Name { get; set; } public string Category { get; set; } public byte[] Image { get; set; } public string Description { get; set; } public string Brand { get; set; } public string GUID { get; set; } public string VariantName { get; set; } public string VariantValue { get; set; } public decimal Price { get; set; }}现在,我想一起显示具有相同 GUID 的所有变体(VariantName 和 VariantValue)。我怎样才能做到这一点?
2 回答
BIG阳
TA贡献1859条经验 获得超6个赞
您可以像这样使用 GroupBy 和 Select:
var variants = productDTOs .GroupBy(k => k.GUID) .Select(v => v .Select(variant => new { variant.VariantName, variant.VariantValue }));
白板的微信
TA贡献1883条经验 获得超3个赞
您可以使用分组依据
group p by p.GUID into g
select new { Id = g.Key, ProductDetail = g.ToList()).ToList();
如果您在分组依据之前有表,那么您可以在组本身中添加新对象
group new { p.xyz, n.xyz }
by new { p.GUID } into g
否则使用let将中间对象保存在对象中并对其进行分组
- 2 回答
- 0 关注
- 164 浏览
添加回答
举报
0/150
提交
取消