I have a Comment object. Each comment can have child comments. Each comment tree has the same CommentContainer so we can load the correct comment tree. I can construct the tree with the query below but I want to get only the parents of a specific comment. Any ideas?
class Comment
{
prop Comment Parent{get;set;}
prop CommentContainer Container{get;set;}
}
(from comment in Session.Query<CommentDto>()
from parent in Session.Query<CommentDto>()
where comment.CommentContainer.Id == CommentContainderID && comment.Parent == parent
select comment)
.Fetch(c => c.Parent)
.ToList();
without some kind of indicator how deep a Comment is in the tree there is no way to describe the set in sql in one statement without resorting to vendor specific recursion. the easiest way is to fetch the whole tree and filter in code.