一起显示具有相同 GUID 的字段

我有一个 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)。我怎样才能做到这一点?



达令说
浏览 165回答 2
2回答

BIG阳

您可以像这样使用 GroupBy 和 Select:&nbsp;var&nbsp;variants&nbsp;=&nbsp;productDTOs &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.GroupBy(k&nbsp;=>&nbsp;k.GUID) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Select(v&nbsp;=>&nbsp;v &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Select(variant&nbsp;=>&nbsp;new&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variant.VariantName,&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variant.VariantValue &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}));

白板的微信

您可以使用分组依据group p by p.GUID into gselect new { Id = g.Key, ProductDetail = g.ToList()).ToList();如果您在分组依据之前有表,那么您可以在组本身中添加新对象group new { p.xyz, n.xyz }by new { p.GUID } into g否则使用let将中间对象保存在对象中并对其进行分组
打开App,查看更多内容
随时随地看视频慕课网APP