加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Linq将平展表投影到父对象对象图中

发布时间:2020-12-15 08:38:04 所属栏目:百科 来源:网络整理
导读:我有一个包含扁平父子关系的可枚举列表: ParentGuid1,ParentName1,ChildGuid1,ChildName1ParentGuid1,ChildGuid2,ChildName2ParentGuid2,ParentName2,ChildGuid3,ChildName3ParentGuid2,ChildGuid4,ChildName4 我已经定义了一个Child类和一个包含List Child
我有一个包含扁平父子关系的可枚举列表:
ParentGuid1,ParentName1,ChildGuid1,ChildName1
ParentGuid1,ChildGuid2,ChildName2
ParentGuid2,ParentName2,ChildGuid3,ChildName3
ParentGuid2,ChildGuid4,ChildName4

我已经定义了一个Child类和一个包含List< Child>的Parent类.属于儿童的财产.

我是否可以使用linq在对象图上创建每个唯一ParentGuid的一个Parent类实例,引用由与该父级关联的子项填充的List.

有点像这样(注意,这段代码不能编译):

myFlattenedHierarchy.Select(p => new Parent
   {Guid = p.ParentGuid,Name = p.ParentName,Children = myFlattenedHierarchy.Where(c => c.ParentGuid == p.ParentGuid).Select(c => new Child{Guid = c.ChildGuid,Name = c.ChildName})
   });

解决方法

myFlattenedHierarchy.Select(p => new Parent
   {Guid = p.ParentGuid,Name = c.ChildName})
   });

你应该能够做到这一点,但是孩子们不能成为一个列表,它必须是IEnumerable.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读