Need help using an aggregate root repository

Hopefully, this question will be a simple fill-in-the blank type answer.

I am trying to keep to the convention of using a single repository per aggregate chain but am falling short due to insufficient understanding of ICriteria, IProjections and Expressions used by nhibernate.

This particular aggregate chain is: Category -> Forum -> Thread -> Reply. It used to have self referencing forums and replies, but I nixed that in favor of something simpler.

I currently have a nice CategoryRepository that works well for basic operations involving a Category. However, I have this one action that hands nothing but a forum id, and I need to get the category that owns that forum. The problem is, I simply have no clue how to do it.

Let me set it up for you:

public class CategoryRepository : Repositor<Category>, ICategoryRepository
{

public Category SelectByForumId(int forumId)
{
// yup, the whole thing. I’m lost…
}

}