proba con all-delete-orphans

--------------------------------------------------------------------------------

rdi2k | Ezequiel Jadib | MSN: [EMAIL PROTECTED] | Blog: ejadib.wordpress.com ----- Original Message ----- From: SebaCabrera To: [email protected] Sent: Friday, January 05, 2007 3:48 PM
 Subject: [NHibernate-Hispano] Borrar Items de una coleccion con Cascade="All"


 Hola quisiera saber porque me actualiza y me agrega ítems en la inversa pero 
no me Borra.

 1_ Tablas:

             Entidad

             -------

             PK EntidadId   [int, Autoincremental].

                Nombre      [varchar(50)]

             Email

             -----

             PK EmailId     [int, Autoincremental].

                Email       [varchar(255)].

             FK EntidadId   [Relacion entre Email y Entidad].

 2_ Mapeos

             Entidad

             -------

             <?xml version="1.0" encoding="utf-8" ?>

             <hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" schema="dbo">

                         <class name="EkoGroup.Herencia.NE.NE_Entidad, EkoGroup.Herencia.NE" 
table="Entidad">

                                    <id name="EntidadId" type="Int32" 
column="EntidadId">

                                                <generator class="identity" />

                                    </id>

                                    <property name="Nombre" column="Nombre" 
type="String" />

 <bag name="Emails" inverse="true" cascade="all">

       <key column="EntidadId" />

       <one-to-many class="EkoGroup.Herencia.NE.NE_Email, EkoGroup.Herencia.NE" 
/>

 </bag>

                         </class>

             </hibernate-mapping>

             Email

             -----

             <?xml version="1.0" encoding="utf-8" ?>

             <hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" schema="dbo">

                         <class name="EkoGroup.Herencia.NE.NE_Email, EkoGroup.Herencia.NE" 
table="Email">

                                    <id name="EmailId" type="Int32" 
column="EmailId">

                                                <generator class="identity" />

                                    </id>

                                    <property name="Email" column="Email" 
type="String" />

 <many-to-one name="Entidad" column="EntidadId" class="EkoGroup.Herencia.NE.NE_Email, 
EkoGroup.Herencia.NE" />

                         </class>

             </hibernate-mapping>

 3_ Clases

             Entidad

             -------

         public class NE_Entidad

         {

             private System.Int32 _EntidadId;

             private System.String _Nombre;

             private System.Collections.IList _Emails;

             public virtual System.Int32 EntidadId

             {

                 get{return _EntidadId;}

                 set{_EntidadId = value;}

             }

             public virtual System.String Nombre

             {

                 get{return _Nombre;}

                 set{_Nombre = value;}

             }

             public virtual System.Collections.IList Emails

             {

                 get{return _Emails;}

                 set{_Emails = value;}

             }

         }

             Email

             -----

         public class NE_Email

         {

             private System.Int32 _EmailId;

             private System.String _Email;

             private NE_Entidad _Entidad;

             public virtual System.Int32 EmailId

             {

                 get{return _EmailId;}

                 set{_EmailId = value;}

             }

             public virtual System.String Email

             {

                 get{return _Email;}

                 set{_Email = value;}

             }

             public virtual NE_Entidad Entidad

             {

                 get{return _Entidad;}

                 set{_Entidad = value;}

             }

         }

 4_ Código

             private sub Guadar()

             {

                         If(_Entidad.Emails==null)

                                     _Entidad.Emails=new List<NE_Email>();

 _Entidad.Emails.Clear();

                         NE_Email _Email=new NE_Email();

                         _Email.Email="[EMAIL PROTECTED]";

             _Email.Entidad=_Entidad;

             _Entidad.Emails.Add(_Email);

             Guardar(_Entidad);

 }

 desde ya gracias.


--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups-beta.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Responder a