Maybe i'm confused but i try to explain it better with a example:
I have two classes with this map:
Code:
<class name="Parent">
<id name="id"> ... </id>
<many-to-one lazy="true" name="child" class="Child" ... />
</class>
<class name="Child">
<id name="id"> ... </id>
</class>
if parent is a instance of a persisted Parent:
parent.child.GetType(); its returns a type of a Proxy of NHibernate
but if turn lazy="false":
Code:
<class name="Parent">
<id name="id"> ... </id>
<many-to-one lazy="false" name="child" class="Child" ... />
</class>
when a i call parent.child.GetType(); it return the type of Child, and i think that's the expected i both cases, cause in the 2 examples parent.child is a instance of Child independently of the way that is "hydrated".
I hope it's be more clear, and thaks for your time.