我有一個名爲Category的實體,實體包含一個名爲ChildCategories的IEnumerable。一個類別可以有這些子類別,它可以有它自己的子類別等等。如何選擇使用LINQ to Entity的遞歸嵌套實體
說我已經選擇了頂級父類別,我想要獲取所有子類別及其子類別等,以便我擁有該類別的所有分層子級。我想要這個奉承,並返回最初的類別。我試着創造一些像
public static IEnumerable<T> AllChildren<T>(this IEnumerable<T> items,
Func<T, IEnumerable<T>> children, bool includeSelf)
{
foreach (var item in items)
{
if (includeSelf)
{
yield return item;
}
if (children != null)
{
foreach (var a in children(item))
{
yield return a;
children(a).AllChildren(children, false);
}
}
}
}
這將使用方法的SelectMany後得到flatterned但沒有帶完全得到它。
這應該是@ caserOne的回答評論 – Dude0001 2015-04-24 14:57:48