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.

Reply via email to