Gerarchia ricorsiva – Query ricorsiva usando Linq

Sto usando Entity Framework (versione 6) per mappare una gerarchia ricorsiva e si adatta bene.

Il mio problema è che voglio ricorsivamente ottenere TUTTI i nodes figli di un particolare nodo nella gerarchia.

Ottengo facilmente i nodes figlio usando Linq:

var recursiveList = db.ProcessHierarchyItems .Where(x => x.id == id) .SelectMany(x => x.Children); 

Qualcuno sa di un’implementazione pulita, che riceverà ricorsivamente tutti i bambini?