将GroupJoin集合“即时”组合到父对象

时间:2019-06-04 19:04:43

标签: c# linq-to-entities

我当时看着this answer,想知道现在是否可以有一种更简洁的方法来组合GroupJoin的两个方面,即将右边的Children集合直接附加到{{1 }}。

作者建议,

Parent

但是我们不能消除上面的var parentChildrenQry = parents.GroupJoin(children, parent.Id, child.ParentId, new { (parent, childGrp) => new { Parent = parent, Children = childGrp.ToList() } ); foreach(var grp in parentChildrenQry) { grp.Parent.Children = grp.Children; } 步骤,而只将它们组合到resultSelector中吗?

我想也可以在resultSelector中重新创建新对象,即

foreach

但这对于较大的对象可能会相当长。我以为var myCompleteObjects = parents.GroupJoin(children, parent.Id, child.ParentId, (parent, childGrp) => new CompleteObject { Id = parent.Id, Name = parent.Name, Children = childGrp.ToList() }).ToList(); Select可能会有帮助,但我似乎找不到找到实现此目标的示例。

0 个答案:

没有答案