我有一个对象 A 的列表,该列表中的一个属性是对象 B 的列表。
例如:
public class ObjectA
{
public int Id { get; set; }
public List<ObjectB> ObjectBs { get; set; }
}
public class ObjectB
{
public int Id { get; set; }
public string Name { get; set; }
public int ObjectAId { get; set; }
public ObjectA ObjectA { get; set; }
}
如果我有一个
List<ObjectA>
并且每个ObjectA都包含自己的ObjectB列表,无论如何我都可以进行排序,以便我返回ObjectA中所有ObjectB的列表,每个ObjectA都有自己的基于ObjectB链接的ObjectA对象作为 Id?
希望这是有道理的!
如果您想要 a/b 的单个列表作为结果:
List<ObjectA> As = ...
var result = As
.SelectMany(a =>
a.ObjectBs.Select(b =>
new { b = b, a = a }))
.ToList();
objectAList.SelectMany(
a => a.ObjectBs,
(a,b) => new { Parent = a, Child = b});
应该为您提供一系列具有
Parent
和 Child
属性的对象序列,分别引用 ObjectA
和 ObjectB
。