AFAIK er der ingen understøttelse af rekursive CTE'er i LINQ eller i EF. Løsningen er at eksponere CTE som en udsigt. Artiklen om rekursive eller hierarkiske forespørgsler ved hjælp af EF Code First og Migrations viser, hvordan man implementerer en sådan visning ved hjælp af EF-kode første migrationer.
Forsøg på at efterligne CTE'er ved at udføre rekursive gentagelser på klientsiden skalerer ikke til store datasæt og resulterer i en chatty udveksling med serveren. Bemærk, hvordan din EF-kode returnerer IEnumerable
ikke IQueryable
, betyder det, at det materialiserer hvert niveau og derefter sammenkæder det næste niveau for hver post som en separat anmodning . Den LINQ-baserede løsning vil fungere rimeligt for overfladiske hierarkier med begrænset antal indgange (og bemærk, at mange projekter kan har et sådant datalayout, hvor brugerindlæg/svar er et typisk eksempel), men vil smuldre under dybe hierarkier med mange elementer.