James,
Yes the key-many-to-one element needs the lazy attribute.
The SetAttribute method on the composite-id element actually throws a
not implemented exception.
I noticed today that the HasMany mapping was also not emitting a lazy
attribute. Calling SetAttribute("lazy", "false") on that element works
fine as a workaround but I think should not be necessary if FNH
intends to default lazy to false.
Thank you,
Kevin
On Mar 4, 6:16 pm, James Gregory <[email protected]> wrote:
> Hey Kevin,
> Just so I understand correctly, it's the key-many-to-one element that should
> have a lazy attribute on, but when you use SetAttribute it's being put on
> the composite-id element?
>
> If that's the case, then it shouldn't be a big change to get a Lazy property
> that works that way. I'll create an issue if you confirm what I'm thinking.
>
>
>
> On Wed, Mar 4, 2009 at 9:58 PM, KevM <[email protected]> wrote:
>
> > I am very new to Fluent NH, and NHibernate in general so be gentle.
>
> > I ran into an issue today mapping a composite key with a reference.
> > Here is the mapping:
>
> > WithTable("adp_sch_index");
> > UseCompositeId()
> > .WithKeyProperty(x => x.IndexName, "index_name")
> > .WithKeyReference(x => x.TableDto, "type_id");
>
> > resulting in this hbm:
> > ...
> > <composite-id>
> > <key-many-to-one class="TableDto,..." name="TableDto"
> > column="type_id" />
> > <key-property type="String" name="IndexName" column="index_name" />
> > </composite-id>
> > ...
>
> > The problem I am having is that I do not wish to be doing lazy loading
> > but unfortunately the key-many-to-one element does not have a
> > lazy="false" attribute.
>
> > Looking for an easy way to work around this Chad Myers pointed me at
> > SetAttribute but unfortunately that only applies to the composite-id
> > attribute (and is not implemented).
>
> > I ended up patching Fluent NH to do what I wanted to. It is my
> > understanding that Fluent NH has lazy loading off by default. The
> > assumption is based on the fact that I don't see a way to declare it
> > off. I assumed that it would be OK to add a lazy=false attribute to
> > the key-many-to-one element being emitted.
>
> > My patch is simple and has a test yet is not appropriate for
> > submission because I couldn't figure out a good way to make the
> > solution more general purpose for those wishing to have they composite
> > key reference be lazy loaded.
>
> > Kevin Miller
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Fluent NHibernate" 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/fluent-nhibernate?hl=en
-~----------~----~----~----~------~----~------~--~---