首页 > 解决方案 > 如何使用 LINQ 根据条件从单个数据表中找出重复的列值

问题描述

在此处输入图像描述

基于来自 Artname 字段的不同值,我想获得常见的 LND_ISO 值。

  1. TestCPCN-红色 - AD,AG
  2. 测试CPCN-Green-AD
  3. TestCPCN-Blue-AD,AG

所以共同的价值是AD [结果是AD]

我怎样才能通过LINQ实现。

标签: c#asp.netlinq

解决方案


GroupBy简单地使用on进行分组Artname,然后在连接的结果上相交以获得输出

var result = data.GroupBy(
    p => p.Artname, 
    p => p.LND_ISO,
    (key, g) => new { Artname = key, LND_ISO = g.ToList() }).ToList();

var output = result[0].LND_ISO;
foreach(var item in result)
{
   output = output.Intersect(item.LND_ISO);
}

推荐阅读