어린이 계층 나는 데이터부모 만들기 -> 두 개의 컬렉션을
List<Parent> parents;
List<Child> children;
이 컬렉션 Child.ParentId를 통해 연결할 수 있습니다
및 Parent.Children 가득 두 개의 컬렉션 인스턴스가 있습니다.
부모 컬렉션에 하위 속성이 채워져 있지 않으므로 하위 개체와 하위 개체를 어떻게 연결합니까?
어린이 계층 나는 데이터부모 만들기 -> 두 개의 컬렉션을
List<Parent> parents;
List<Child> children;
이 컬렉션 Child.ParentId를 통해 연결할 수 있습니다
및 Parent.Children 가득 두 개의 컬렉션 인스턴스가 있습니다.
부모 컬렉션에 하위 속성이 채워져 있지 않으므로 하위 개체와 하위 개체를 어떻게 연결합니까?
이 시도 :
var result = from d in parents
join s in children
on d.ParentID equals s.ParentID into g
select new
{
ParentName = d.ParentName,
ChildList = g
};
foreach (var item in result)
{
Console.WriteLine("Parent: {0}", item.ParentName);
foreach (var Child in item.ChildList)
{
Console.WriteLine(Child.Name);
}
Console.WriteLine();
}
children.Join(parents,
c => c.ParentId,
p => p.ParentId,
(c, p) => new { children = c, parents = p })
.Select(x => x.parents).ToList();
업데이트
var result = parents.Join(children,
p => p.ParentId,
c => c.ParentId,
(p,c) => new { parents = p,children = c })
.Select(x => new
{
ParentName = x.parents.ParentName,
ChildList= x.children
})
//.GroupBy(x=>x.ParentName)
.ToList();
@ goran-이 코드는 gv 부모 데이터 리터입니까? 조인을 기반으로 계층 구조를 제공합니까 ?? – James
안녕, 빠른 응답을 주셔서 감사합니다. 분명히하기 위해, 이것은 왼쪽 조인 작업이고, 아이가없는 부모는 여전히 존재할 것입니까? – Goran
이것은 그룹화 된 조인이며 계층 적 데이터 구조를 원할 때 사용됩니다. 자녀가없는 네 부모가 나타납니다. – James