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