我在集合中有几条记录,其中两个记录具有相同的项目名称和描述(例如:sample1和item1),但其他一些字段不同,
1.sample1 item1 Rule2 Rule2msg iteminfo2
2.sample1 item1 test1 testrule iteminfo1
我需要在linq中对记录进行分组,输出方式如下,
Sample1,
item1,
{
Rule2,
Rule2msg,
iteminfo2
},
{
testrule1 ,
testrulemsg,
iteminfo1
}
基本上我想要实现的是,因为前两个字段(itemName和Desc)是相同的,将它们分组为单个项目并将项目下的其余字段嵌套,以便项目名称不重复并且不会出现两次并显示为单个项目。非常感谢任何帮助
我试过这个
Itm.GroupBy(x => x.ITEM_NAME).Select(x => x.ToList()).ToList();
它对项目进行分组,但是两个记录不像我期望的那样单个项目。
答案 0 :(得分:0)
您应该在itemName
和Desc
列上对记录进行分组。
Itm.GroupBy(x => new {x.ITEM_NAME, x.Desc}).Select(x => x.ToList()).ToList();