sorry....a one-to-many in A side must be "translated" in a many-to-one in B
side

2008/9/29 Luis Abreu <[EMAIL PROTECTED]>

>  Hello Fabio.
>
>
>
> Yes, that is correct. A has a set property for holding several Bs and each
> B has a property that points back to its parent A. The problem is that
> deleting A won't cascade into B and I get an foreign key exception when I
> try to delete A. The workaround I've found is deleting all Bs before
> deleting A but I expected that deleting A would automatically delete all
> associated Bs . If you want, I can put some code here (I thought that the
> previous snippet was enough for illustrating my scenario).
>
>
>
> Thanks.
>
>
>
> --
>
> Luis Abreu
>
>
>
> *From:* [email protected] [mailto:[EMAIL PROTECTED] *On
> Behalf Of *Fabio Maulo
> *Sent:* segunda-feira, 29 de Setembro de 2008 16:59
> *To:* [email protected]
> *Subject:* [nhusers] Re: delete and cascading
>
>
>
> I don't understand the relation..
>
> A has a One-To-Many to B (OK)
>
>
>
> B has a ONE-TO-ONE with A ?
>
> What is this?
>
> 2008/9/29 Luis Abreu <[EMAIL PROTECTED]>
>
>
> Hello guys.
>
> question regarding NH 2.0 behaviour:
>
> I've got an entity with a collection of other entities. It looks like
> this (just some pseudo-code that reproduces the scenario):
>
> class A{ public ISet<B> Bs{get;set;} }
> class B{ public A{ get; set; } }
>
> and then the xml looks like this:
>
> a.hbm.xml
> <hibernate-mapping
>  xmlns="urn:nhibernate-mapping-2.2"
>  assembly="SRA.Core.Entidades"
>  namespace="SRA.Core.Entidades"
>  schema="dbo">
>  <class name="A" table="A" lazy="false">
>  ...
>  <set name="Bs" lazy="false" cascade="all-delete-orphan" inverse="true">
>      <key column="IdB" on-delete="cascade" />
>      <one-to-many class="B"/>
>    </set>
> </hibernate-mapping>
>
>
> b.hbm.xml
>
> <hibernate-mapping
>  xmlns="urn:nhibernate-mapping-2.2"
>  assembly="SRA.Core.Entidades"
>  namespace="SRA.Core.Entidades"
>  schema="dbo">
>  <class name="B" table="B" lazy="false">
>  ...
>  <one-to-one class="A" name="A" />
> </hibernate-mapping>
>
>
> As you can see, A is the root aggregate and I won't to delete A. So I
> tried calling session.Delete(a). The problem: I end up getting an ado
> net exception regarding the foreign key between tables A and B. Ok,
> looking at the SQL, it seems like NH will only issue a delete over
> table A, but I was expecting that the cascade all would also issue a
> delete over B (which should be issued before A's delete).
>
> Shouldn't the delete over A be responsible for deleting items from B
> associated with A?
> --
> Regards,
> Luis Abreu
>
>
>
>
> --
> Fabio Maulo
>
>
> No virus found in this incoming message.
> Checked by AVG - http://www.avg.com
> Version: 8.0.169 / Virus Database: 270.7.0/1685 - Release Date: 27-09-2008
> 13:11
>
>
> >
>


-- 
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to