0
附加列的SelectMany我有一個類:LINQ方法如何從父類
public class Parent
{
public int ParentID { get; set; }
public string ParentName { get; set; }
public List<Child> Childs { get; set; }
}
public class Child
{
public int ChildID { get; set; }
public string ChildName { get; set; }
}
隨着Parent
對象,這裏就是我得到的所有Childs
值。
Parent obj = GetParent();
PrintExcel(obj.SelectMany(sm => sm.Childs);
但是我也想在select命令中包含ParentName
值,該如何實現?
使用SQL查詢,我能做到這一點
SELECT
p.ParentName,
c.ChildName
FROM
Parent p
INNER JOIN Child c ON
p.ParentID = c.ParentID
變化PrintExcel'的'簽名把它:'PrintExcel(obj.ParentName, obj.SelectMany(sm => sm.Childs))' –
我想在一個linq select中執行此操作,並且不能修改PrintExcel方法。 – warheat1990
如果它不能被修改,你必須修改類「Child」來包含對其父項的引用。目前,「PrintExcel」方法採用「IEnumerable」,它不知道「Parent」。 –