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.