Все классы являются частичными, поэтому создайте новый частичный для вашего класса (скажем, «Category») и создайте дочернюю коллекцию (назовите ее SubCategories). Затем, когда вы загружаете свой объект в память, вы можете загрузить подколлекцию:
var allCategories=Categories.All().ToList();
allCategories.ForEach(x=>x.SubCategories=allCategories.Where(y=>y.CategoryID==x.ParentID));
Это от руки, но это идея.