Expresión de tabla común en EntityFramework

Tengo esta consulta en el Servidor SQL que necesito consumir en EntityFramework. Entonces, ¿cómo puedo escribir un código EntityFramwork que tenga el mismo resultado que este?

WITH    cte AS
        (
        SELECT  *
        FROM    StockGroups
        WHERE   GroupParent ='Stationery' 
        UNION ALL
        SELECT  g.*
        FROM    StockGroups g
        JOIN    cte
        ON      g.GroupParent = cte.GroupName
        )
SELECT  *
FROM    cte

No sé cómo convertirlo en EF, así que lo intenté con join.

from a in db.StockGroups
join b in db.StockGroups on new { GroupParent = a.GroupParent } equals new { GroupParent = b.GroupName }
where
  b.GroupName == "Stationery"
select new {
  a.GroupName,
  a.GroupParent,
  Column1 = b.GroupName,
  Column2 = b.GroupParent
}

Pero el resultado no es el mismo, tan recursivo como el CTE.

Respuestas a la pregunta(5)

Su respuesta a la pregunta