Hi again, Should I provide more information, so its easier to spot the issue?
On Thu, Aug 26, 2010 at 3:15 PM, Jacob Madsen <[email protected]> wrote: > > Hi there, > > Why do I get the following exception: > NHibernate.ObjectDeletedException : deleted object would be re-saved > by cascade (remove deleted object from associations) > [Tests.CollectionElement#2] > > I want orphans deleted when I invoke Clear() on the collection owning > them. > > > ///// Test start here > var collectionOwnerId = 0L; > > using (var session = sessionFactory.OpenSession()) > using (var transaction = session.BeginTransaction()) > { > collectionOwnerId = (long) session.Save(new CollectionOwner()); > > var collectionOwner = > session.Get<CollectionOwner>(collectionOwnerId); > > collectionOwner.FirstCollection.Add(new CollectionElement("First > element")); > > transaction.Commit(); > } > > using (var session = sessionFactory.OpenSession()) > using (var transaction = session.BeginTransaction()) > { > var collectionOwner = > session.Get<CollectionOwner>(collectionOwnerId); > > collectionOwner.FirstCollection.Clear(); > > transaction.Commit(); // Exception here!!! > } > ///// Test end here > > > public class CollectionOwner : ReferenceRootObject<CollectionOwner> > { > public IList<CollectionElement> FirstCollection { get; private > set; } > > public CollectionOwner() > { > FirstCollection = new List<CollectionElement>(); > } > } > > > public class CollectionElement : ReferenceObject<CollectionElement> > { > public string Name { get; private set; } > > public CollectionElement() > { > Name = ""; > } > > public CollectionElement(string name) > { > Name = name; > } > } > > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default- > access="property" auto-import="true" default-cascade="save-update" > default-lazy="false"> > <class xmlns="urn:nhibernate-mapping-2.2" lazy="false" > mutable="true" name="Tests.CollectionOwner, Tests, Version=1.0.0.0, > Culture=neutral, PublicKeyToken=null" table="collection_owners"> > <id name="Id" type="System.Int64, mscorlib, Version=4.0.0.0, > Culture=neutral, PublicKeyToken=b77a5c561934e089"> > <column name="id" /> > <generator class="hilo"> > <param name="max_lo">0</param> > </generator> > </id> > <bag access="backfield" cascade="all-delete-orphan" > name="FirstCollection" mutable="true"> > <key> > <column name="CollectionOwner_id" /> > </key> > <one-to-many class="Tests.CollectionElement, Tests, > Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> > </bag> > </class> > </hibernate-mapping> > > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default- > access="property" auto-import="true" default-cascade="save-update" > default-lazy="false"> > <class xmlns="urn:nhibernate-mapping-2.2" lazy="false" > mutable="true" name="Tests.CollectionElement, Tests, Version=1.0.0.0, > Culture=neutral, PublicKeyToken=null" table="collection_elements"> > <id name="Id" type="System.Int64, mscorlib, Version=4.0.0.0, > Culture=neutral, PublicKeyToken=b77a5c561934e089"> > <column name="id" /> > <generator class="hilo"> > <param name="max_lo">0</param> > </generator> > </id> > <property name="Name" type="System.String, mscorlib, > Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> > <column name="Name" length="255" not-null="true" /> > </property> > </class> > </hibernate-mapping> > -- 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.
