Hi,

I have been successfully using NHibernate for quite some time now and
have been able to solve a lot of pitfalls with an application that I
developed with it and that is running in production. The recent hurdle
really has me scratching my head, though.

Recently I had to expand the class library with some new classes that
are nested as children to some already existing classes. I just copied
the same model for aggregate mapping that I already was successfully
using, but this time it does not work.

Now when I use the following in the parent mapping file:

    <bag name="SeaInfoItems" table="EDIImport_SeaInfo" lazy="false"
cascade="save-update" >
      <key column="EDI_FK_OWNERID"/>
      <one-to-many class="FargoGate.AppLib.EdiImportSeaInfo,
FargoGate.AppLib"/>
    </bag>

I can choose to, in the child class, either use:

<property name="EDI_FK_OWNERID" column="EDI_FK_OWNERID" />

...which gives me the infamous "Invalid Index n for this
SqlParameterCollection with Count=n" error.

OR I try with this solution I found after some Googling:

<property name="EDI_FK_OWNERID" column="EDI_FK_OWNERID" insert="false"
update="false" />

...which gives me a "Cannot insert the value NULL into column
'EDI_FK_OWNERID'... column does not allow nulls." error.

So basically I have to choose between pest and cholera.

What I don't get is that it works flawlessly for the already existing
aggregate classes, and I really cannot spot the difference. The only
thing is that this foreign key (EDI_FK_OWNERID) could refer to two
different parent tables. Bad database design, I know, but I didn't
design it, and it is my task to develop up to it for better or worse.
I cannot change the database design.

Anyone has a clue?

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