首页 > 其他 > 详细

Linq Group By

时间:2020-05-12 17:25:00      阅读:24      评论:0      收藏:0      [点我收藏+]

最近在做一个数据库比对工具,查询索引的时候,需要把索引做一个转换

查询出的数据:

IX_Fn_T_Moneny_PID NONCLUSTERED ID
IX_Fn_T_Moneny_Name_PID NONCLUSTERED ID
IX_Fn_T_Moneny_Name_PID NONCLUSTERED Name

需要转化成

IX_Fn_T_Moneny_PID NONCLUSTERED ID
IX_Fn_T_Moneny_Name_PID NONCLUSTERED ID,Name

就想着用Linq来实现分组转换,却遇到了问题,原来Linq的GroupBy()返回的是一个IGrouping<Key,T>类型,一时间不知道怎么取Group中的数据了。经过多番查找,终于找到了正确用法,笔记一下。

 //获取索引 并且合并                                      
                    t.indexModes = indexList.Where(p => p.PID == t.ID).GroupBy(c => new { c.isUnique, c.Name, c.sType, c.typeDesc, c.PID }).Select(c => new IndexMode {
                        Name = c.Key.Name,PID = c.Key.PID,
                        isUnique = c.Key.isUnique,
                        sType = c.Key.sType,
                        typeDesc = c.Key.typeDesc,
                        colName = string.Join(",", c.ToList().Select(x => x.colName))
                    }).ToList();

居然可以IGrouping<K,T>.ToList()成T,也是神奇了。

 

Linq Group By

原文:https://www.cnblogs.com/kafeibuhuizui/p/12877339.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!