inverse=true and cascade=all-delete-orphan var bar = session.Load<Bar>(1); session.Get<Foo>(2).Bars.Remove(bar);
by removing bar from the collection of bars within Foo it becomes orphaned. nh detects the orphan and deletes it. by setting bar.Foo = null you are attempting to update the mapped column to null, which causes a foreign key reference error. On Oct 28, 8:24 am, reflection <[email protected]> wrote: > I think I can't get the full picture. Can you tell me how this helps > in my situation? I understand what it means, but I can't see how this > can be helpfull too me -.- > > Thanks a lot!!! > > On Oct 28, 1:34 pm, Oskar Berggren <[email protected]> wrote: > > > See the last paragraph of 6.4 inhttp://nhforge.org/doc/nh/en/index.htmlfora > > starting hint regarding > > inverse. > > > /Oskar > > > 2010/10/28 reflection <[email protected]>: > > > > Hello, > > > > I've read a lot on the Internet but I can't find a solution for my > > > problem :( > > > > Example: > > > > public class Foo > > > { > > > public IList<Bar> Bars { get; set; } > > > } > > > > public class Bar > > > { > > > public Foo Foo { get; set; } > > > } > > > > So it's a classical many-to-one mapping. > > > > The mapping: > > > > Foo: > > > > ... > > > <bag name="Bars" inverse="true" cascade="none" lazy="true"> > > > <key column="ID_FOO" /> > > > <one-to-many class="Bar"/> > > > </bag> > > > ... > > > > Bar: > > > > ... > > > <many-to-one fetch="select" index="IDX_BAR_FOO" name="Foo" class="Foo" > > > column="ID_FOO" cascade="none" not-null="true" foreign- > > > key="FK_BAR_FOO" /> > > > ... > > > > I use Session per Request pattern. So I do only have detached entities > > > in my code. > > > > Now if I load a Foo with some Bars from the Database, the tree may > > > look like this: > > > > Foo1 > > > |->Bar1 > > > |->Bar2 > > > |->Bar3 > > > > Now I remove one Bar from Foo1: > > > > Foo1.Bars.Remoe(Bar1); > > > Bar1.Foo = null; > > > > The problem is that I can't do > > > > session.Delete(Bar1); > > > > It always tells me that Foo can't be NULL. That's OK. But how do I > > > tell NHibernate to delete the whole row? If the entities would not be > > > detached I could use delete-orphan on the collection, but since the > > > childs are detached this doesn't work neither :( > > > > I hope anybody has an idea how to solve this. > > > > Thanks in advance!!!! > > > > Greetings > > > > -- > > > 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 > > > athttp://groups.google.com/group/nhusers?hl=en.-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.
