That's because the ChildResources is lazy loaded. Add lazy="false" to the mapping.
On Sep 14, 4:45 pm, "[email protected]" <[email protected]> wrote: > I have a tree where every node is a Resource class: > > public abstract class Resource > { > public virtual Guid Id { get; set; } > public virtual Resource Parent { get; set; } > > public virtual IList<Resource> ChildResources { get; set; } > > } > > as you can see this class is abstract and there are many different > derived classes from Resource (3 at the moment, more to come). In my > database i have a table for Resource, and a table for each class which > derives from Resource. These are mapped together with <joined- > subclass>. > > I've read this: > > http://ayende.com/Blog/archive/2009/08/28/nhibernate-tips-amp-tricks-... > > and i have exactly the same code as Ayende to load my tree, which is > all working fine (all Resources are returned with a single select) > > However, I'm seeing extra selects occurring as I enumerate a > Resource's ChildResources list. > > Is that because of this?: > > http://ayende.com/Blog/archive/2009/09/03/answer-the-lazy-loaded-inhe... > > Either way, how do I prevent this from happening? > > Here's the part of the mappings for the relationships (class names > trimmed for clarity): > > <bag cascade="save-update" fetch="join" inverse="true" > name="ChildResources"> > <key> > <column name="Parent_Id" /> > </key> > <one-to-many class="Resource" /> > </bag> > <many-to-one class="Resource" name="Parent"> > <column name="Parent_Id" /> > </many-to-one> > > Thanks --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nhusers?hl=en -~----------~----~----~----~------~----~------~--~---
