I need to find all descendants for a given list of parents. The query (in plain SQL) was easy enough, but I can't translate it into LINQ-to-SQL.
SQL Query:
select child.id from GlobalDocumentClassification child
inner join GlobalDocumentClassification parent
on child.HierarchyId.IsDescendantOf(parent.HierarchyId) = CAST(1 AS bit) and
parent.Id in ('5bb9450f-3778-411d-bbf2-5a5775c70310')
Here my (flawed) LINQ query:
var entityIds =
from child in Context.GlobalDocumentClassification
join parent in Context.GlobalDocumentClassification
on child.HierarchyId.IsDescendantOf(child.HierarchyId) equals true
where EF.Constant(documentClassificationIds).Contains(parent.Id)
select child.Id;
The IDE complains about the use of parent
- I believe this is related to how the LINQ-to-SQL queries need to be structured