Tengo una entidad llamada Categoría y la entidad contiene un IEnumerable llamado ChildCategories. Una categoría puede tener estas categorías secundarias que pueden tener sus propias categorías secundarias, etc.Cómo selecciono entidades anidadas recursivas usando LINQ a la Entidad
Digamos que he seleccionado la categoría principal de nivel superior, quiero obtener todas las categorías secundarias y sus categorías secundarias, y así sucesivamente para tener todos los hijos jerárquicos de la categoría. Quiero que esto quede plano y vuelva con la categoría inicial. He intentado crear algo así como
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);
}
}
}
}
cual sería conseguir flatterned después de usar el método SelectMany pero havn't bastante conseguido.
Esto debería haber sido un comentario sobre @ caserOne's answer – Dude0001