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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |