If I add inverse=true, the old copies of the children are not
deleted. I just get a new copy in addition to the old copy, doubling
the number of line items.
This is the fragment I changed:
<class name="LineItem" table="LineItems" lazy="false">
...
<many-to-one lazy="false" name="Parent" column="InvoiceLibraryID"
not-null="true"
class="InvoiceLibrary"
inverse="true"
/>
Any other thoughts?
Thanks!
On Jun 5, 12:09 pm, Fabio Maulo <[email protected]> wrote:
> inverse="true"
>
> 2009/6/5 Eric <[email protected]>
>
>
>
>
>
>
>
> > Hi all,
>
> > I have a parent/child relationship and find that, when I update child
> > records, NHibernate is updating the ID for the previous child records
> > in the DB to NULL and inserting new records for all of the children
> > (even ones that did not change), but not deleting the now-orphaned
> > child records. Thoughts on how to get the orphans to be deleted?
>
> > <class name="InvoiceLibrary">
> > ...
> > <bag name="LineItemList" table="lineitems" cascade="all-delete-
> > orphan">
> > <key column="InvoiceLibraryId"/>
> > <one-to-many
> > class="LineItem"/>
> > </bag>
> > </class>
>
> > <class name="LineItem" table="LineItems" lazy="false">
> > ...
> > <many-to-one lazy="false" name="Parent" column="InvoiceLibraryID"
> > not-null="true"
> > class="InvoiceLibrary"
> > />
> > </class>
>
> > The save method looks like this (InvoiceLibrary object is passed in)
>
> > public void Save<T>(T item)
> > {
> > using (ISession session = m_SessionFactory.OpenSession())
> > {
> > using (session.BeginTransaction())
> > {
> > session.SaveOrUpdate(item);
> > session.Transaction.Commit();
> > }
> > }
> > }
>
> > After my initial save, and then an update of two line items and
> > another save, I end up with one line in the InvoiceLibrary table, two
> > lines in the LineItems table with the original line item data and an
> > InvoiceLibraryId of null, and two lines in the LineItems table with
> > the updated line item data and an InvoiceLibraryId pointing to the
> > correct InvoiceLibrary.
>
> > Thanks!
>
> --
> Fabio Maulo
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---