Vels,

Please look at https://www.hibernate.org/359.html

section
"NHibernate is deleting my entire collection and recreating it instead
of updating the table."

maybe thi will be also interesting:

http://nhforge.org/blogs/nhibernate/archive/2009/04/23/nhibernate-tidbit-using-lt-set-gt-without-referencing-iesi-collections.aspx

Bartosz Pierzchlewicz

On 8 Kwi, 07:57, Vels <[email protected]> wrote:
> inmany to manycollection inserting a new child,
> its deletingallexisting rows and re-generatingallwith new id
>
> how to avoid this ?
>
> On Apr 7, 5:57 pm, Vels <[email protected]> wrote:
>
>
>
> > Hi..
> > if i useall-delete-orphans and
>
> > MasterItemList.remove(Masteritem1)
> >           :session.update(MasterCategory)
> >           :trans.Commit()
> > its removing from tblCategories and tblCategorisedItems too. i want to
> > remove only from tblCategorisedItems
>
> > (all-delete-orphans working with one-to-many perfectly)
>
> > So i changed little my Mapping information as :
>
> >     <bag name="MasterItemList" table="tblCategorisedItems" lazy="true"
> >          collection-type="Collection.ObservableList`1
> > [[emPowerBO.MasterItem, emPowerBO]], Collection">
> >       <key column="CategoryCode"/>
> >       <many-to-manycolumn="MasterItemCode"
> > class="emPowerBO.MasterItem,emPowerBO" outer-join="true"/>
> >     </bag>
>
> > Now remove child working fine, but if i insert New MasterItem to my
> > existing MasterItemList, in backend its re-creatingallexisting rows
> > of the MasterItemList with new ID for particular parent
> > (MasterCategory)
>
> > am i clear ?
>
> > On Apr 6, 7:19 pm, James Crowley <[email protected]> wrote:
>
> > > cascade toallwill remove themall, only if youdeletethe root entity.
>
> > > if you want the collection items to be removed, while the root entity
> > > remains, it needs to beall-delete-orphans.
>
> > > hope that helps
>
> > > 2009/4/6 Vels <[email protected]>
>
> > > > i changed cascade="all"     ... but still same problem
>
> > > >  <bag name="MasterItemList" table="tblCategorisedItems"
> > > > cascade="all"
> > > >         collection-type="Collection.ObservableList`1
> > > > [[emPowerBO.MasterItem, emPowerBO]], Collection">
> > > >     <key column="CategoryCode"/>
> > > >     <many-to-manycolumn="MasterItemCode"
> > > > class="emPowerBO.MasterItem,emPowerBO"/>
> > > >   </bag>
>
> > > > On Apr 6, 5:19 pm, James Crowley <[email protected]> wrote:
> > > > > You might want to check your cascade options? If you want orphaned
> > > > entities
> > > > > to be removed, you need to set it toall-delete-orphans... but make 
> > > > > sure
> > > > you
> > > > > understand the implcations of this.
>
> > > > > Seehttp://
> > > > ayende.com/Blog/archive/2006/12/02/NHibernateCascadesTheDiffer...
> > > > > more info.
>
> > > > > Hope that helps
>
> > > > > James
>
> > > > > 2009/4/6 Vels <[email protected]>
>
> > > > > > Hi...
>
> > > > > > I am working with VB.Net 2008, SQL 2005, NH2.0.1
>
> > > > > > followings are my mapping information:
>
> > > > > > <?xml version="1.0" encoding="utf-8" ?>
> > > > > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
> > > > > >                   namespace="emPowerBO" assembly="emPowerBO"
> > > > > > schema="emPowerMasterV4.dbo">
> > > > > >  <class name="MasterCategory" proxy="MasterCategory"
> > > > > > table="tblCategories" lazy="true"
> > > > > >         discriminator-value="MasterCategory">
> > > > > >    <id name="CategoryCode" column="CategoryCode" type="Int64" 
> > > > > > unsaved-
> > > > > > value="0">
> > > > > >      <generator class="native"/>
> > > > > >    </id>
> > > > > >    <property column="CategoryName" type="string" name="CategoryName"
> > > > > > not-null="true" length="255"/>
>
> > > > > >    <bag name="MasterItemList" table="tblCategorisedItems"
> > > > > > cascade="none"
> > > > > >         collection-type="Collection.ObservableList`1
> > > > > > [[emPowerBO.MasterItem, emPowerBO]], Collection">
> > > > > >      <key column="CategoryCode"/>
> > > > > >      <many-to-manycolumn="MasterItemCode"
> > > > > > class="emPowerBO.MasterItem,emPowerBO"/>
> > > > > >    </bag>
>
> > > > > >    </class>
> > > > > > </hibernate-mapping>
>
> > > > > > test 1 :MasterItemList.add(Masteritem1)
> > > > > >          :session.update(MasterCategory)
> > > > > >          :trans.Commit()
> > > > > >           works fine :) Masteritem1 added to my collection and table
> > > > > > too
>
> > > > > > test 2 :MasterItemList.add(Masteritem2)
> > > > > >          :session.update(MasterCategory)
> > > > > >          :trans.Commit()
> > > > > >          :Masteritem2 added to my collection and table too
>
> > > > > >          :MasterItemList.Remove(Masteritem1)
> > > > > >          :session.update(MasterCategory)
> > > > > >          :trans.Commit()
> > > > > >          :Masteritem1 removed from my collection but not deleted 
> > > > > > from
> > > > > > my table
>
> > > > > > test 3 :MasterItemList.remove(Masteritem1)
> > > > > >          :session.update(MasterCategory)
> > > > > >          :trans.Commit()
> > > > > >          : works fine :) Masteritem1 removed from my collection and
> > > > > > from table too
>
> > > > > >          :MasterItemList.Remove(Masteritem2)
> > > > > >          :session.update(MasterCategory)
> > > > > >          :trans.Commit()
> > > > > >          :not working :( Masteritem2 removed from my collection but
> > > > > > not from table
>
> > > > > > what could be the mistake ?
> > > > > > is my mapping informations correct ?- Hide quoted text -
>
> > > > > - Show quoted text -
>
> > > --
> > > James Crowley
> > > Managing Director
> > > Developer Fusion - Connecting developers worldwide
>
> > > Developer Fusion Ltd | 58 Sandringham Close | Enfield, EN1 3JH
> > > mob: 07986 624128 web:http://www.developerfusion.com/-Hidequoted text -
>
> > > - Show quoted text -- Hide quoted text -
>
> > - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
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