【发布时间】:2014-06-27 14:49:18
【问题描述】:
我有一个对象,它具有另一个对象列表的成员。 即:
public class ObjA
{
public int Id { get; set; }
Other members....
public List<ObjB> ObjBs{ get; set; }
}
public class ObjB
{
public int Id { get; set; }
Other members...
}
我目前在 foreach 中填充 ObjA 对象,然后在 foreach 循环中调用另一个 foreach 填充 ObjB 列表并将其添加到 ObjA 中的 ObjBs 成员中。
理想情况下,我想要一个 ObjA 的平面列表,所有相关的 ObjB(按 ID)都附加到列表中。这可能吗,我的页面中有所有 ObjA 和所有 ObjB 的临时列表,只是不确定如何将它们加入动态单个平面列表?
希望这有意义吗?
【问题讨论】:
-
你说的是LINQ的
SelectMany()和Concat()函数吗? -
如您所见,ObjB 和 ObjA 之间存在多对一的关系——这是正确的吗?也就是说,是否有许多 ObjB 与单个 ObjA 相关联?如果是这样,那么转换为单个列表没有意义。
-
嗨,Hogan,你说得对,这是一个 -> 从 ObjA 到 ObjB 的多个。我试图让一个列表说 (item[0] = objA + ObjB + ObjB + ObjB, item[1] = objA + ObjB + ObjB + ObjB 等),其中 objA + ObjB 有一个共同的 ID。跨度>