Filtragem Recursiva Linq para Objetos

é possível filtrar recursivamente todos os itens na árvore recursiva com linq para objetos.

Este é o modelo que estou usando. Isso me é dado por outro aplicativo

public class Menu
{
   public string Name{get;set;}
   public string Roles{get;set;}
   public List<Menu> Children{get;set;}
}

Quando o usuário efetua login em meu aplicativo, preciso verificar as funções dos usuários em relação às funções especificadas para o item de menu. Eu sei que posso escrever um método recursivo que verifique isso usando um loop for.

Eu lá de qualquer maneira para obter isso usando como 'MenuList.Where (.. verifique os papéis)

desde já, obrigado

questionAnswers(2)

yourAnswerToTheQuestion