Как проверить, есть ли у родительского элемента дочерние элементы в рекурсивной функции LINQ?

Я делаю рекурсивную функцию LINQ, как описано в этом вопросе:Имитация рекурсии CTE в C #

Мой код выглядит следующим образом:

private static IEnumerable<KeyValuePair<int, int>> getNet(List<DataRow> list, int? leader, int level)
{
    return list
        .Where(x => x.Field<int?>("LeaderID") == leader)
        .SelectMany(x =>
            new[] { 
               new KeyValuePair<int, int>(x.Field<int>("RepID"), level)
                  }.Concat(getNet(list, x.Field<int>("RepID"), level+ 1))
         );
}

Я хотел бы проверить, есть ли у родителей дети, прежде чем снова войти в функцию, потому что каждый ребенок снова оценивается, и это отнимает много времени.

Т.е. у родителя А 5000 детей, но только у 5 из них есть дети, мне нужно кое-что проверить, если у детей А есть дети, прежде чем выполнять функцию для всех из них.

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос