Hum. That's what happens when you don't read the docs with attention.thanks again -- Luis Abreu From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Fabio Maulo Sent: segunda-feira, 29 de Setembro de 2008 20:17 To: [email protected] Subject: [nhusers] Re: delete and cascading no, I'm saying that the relation you are doing have no sense... http://www.nhforge.org/doc/nh/en/index.html#mapping-declaration-onetoone and then http://www.nhforge.org/doc/nh/en/index.html#collections-bidirectional 2008/9/29 Luis Abreu <[EMAIL PROTECTED]> Hum.are you saying that cascade deleting will only be supported if B has a many-to-one? I'm asking this because at least insertion is working without any problems. -- Luis Abreu From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Fabio Maulo Sent: segunda-feira, 29 de Setembro de 2008 18:36
To: [email protected] Subject: [nhusers] Re: delete and cascading 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 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 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 --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
