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
-~----------~----~----~----~------~----~------~--~---

Reply via email to