상위 목록 (상위)과 하위 목록 (하위)에 상위 목록이있는 목록이 두 개 있습니다.상위 및 하위 목록을 하나의 중첩 된 상위 목록으로 결합
List<Parent> parents
List<Child> children
두 개의 목록을 하나의 부모 목록으로 결합하려고합니다. 각 부모 개체는 자식 목록이 있습니다. 현재 부모 목록을 반복하고있는 부모 목록을 기반으로 각 부모 개체 내에서 자식 목록을 채우고 있지만 LINQ를 사용하여이 작업을 수행하는 더 빠른 방법이 있는지 궁금 해서요.
foreach (var parent in parents)
{
parent.Children = children.Where(c=>c.ParentId == parent.Id).ToList();
}
의견이 있으십니까? GroupJoin
하나의 문에
var parentChildrenQry =
from parent in parents
join child in children on parent.Id equals child.ParentId
group child by parent;
foreach(var grp in parentChildrenQry) {
grp.Key.Children = grp.ToList();
}
또는 두 :
멋진 첫 번째 작품은 완벽하게 작동했습니다. – hines