我在 Sql Server 中有这个查询,我需要在 EntityFramework 中使用它,那么我怎样才能编写一个与此结果相同的 EntityFramwork 代码
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
我不知道如何在 EF 中转换它,所以我尝试加入。
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
}
但结果不一样,和 CTE 一样递归。