我有一个包含一个扁平的父 - 子关系的枚举列表:LINQ的投影到父和子对象图
ParentGuid1, ParentName1, ChildGuid1, ChildName1
ParentGuid1, ParentName1, ChildGuid2, ChildName2
ParentGuid2, ParentName2, ChildGuid3, ChildName3
ParentGuid2, ParentName2, ChildGuid4, ChildName4
我已经定义了一个子类和一个父类,其包括List<Child>
属性称为儿童。
我可以使用linq在对象图上创建每个唯一ParentGuid的父类的一个实例,引用与该父级关联的子级填充的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})
});
该图只有2层深,即没有周期的“Parent 1- * Child”?或者,GUID的全局和每个“ChildGuid”都可能是“ParentGuid”? – user7116