按类别区分,然后在一列中加入每个类别的所有不同值

alo*_*gah -1 c# linq

我有这个数据:

CategoryId  Value     
1            val1   
1            val2  
1            val2
2            test1  
2            test1  
3            data1  
3            data2 
3            data2
Run Code Online (Sandbox Code Playgroud)

我想要的输出是这样的:

CategoryId        Value
1                  val1. val2.
2                  test1.
3                  data1. data2.
Run Code Online (Sandbox Code Playgroud)

输出应该在CategoryId中是唯一的,并且每个类别只应显示不同的值并以1列值连接在一起.(假设值是长度为1到3个句子的字符串值).我如何在LINQ中查询?或者我如何将它与我想要的输出分组?

fub*_*ubo 5

GroupBy类别编号与JoinDistinct数值

var distinctCategory = categoryList.GroupBy(x => x.CategoryId)
                                    .Select(x => new Category()
                                    {
                           CategoryId = x.Key,
                           Value = string.Join(". ", x.Select(y => y.Value).Distinct())
                                    });
Run Code Online (Sandbox Code Playgroud)

https://dotnetfiddle.net/0Z04AY