Lo que vos te referís es solo una mejora para que el cascade lo haga la base
de datos y nhibernate no tenga que explicitamente ejecutar otro comando. Con
esto te quiero decir que te asegures de que este funcionando bien, inclusive
sin esto.

El attributo on-cascade="delete" se coloca dentro del elemento "key" que
esta dentro del elemento map,set,bag,etc.

En tu caso sería así:

<set name="EsquemaStandoff"
table="T_rEsquemaStandoff" cascade="all-delete-orphan">
     <key column="FK_CodigoEscenario" *on-cascade="delete"* />

 <one-to-many class="PDVSA.Negocio.Entidades.Comunes.rEsquemaStandoff,
Entidades.Comunes"/>
</set>

No tenes que tocar los xsd de nhibernate.

Te repito que esto es solo una optimización, y si tu código solo funciona
con ese atributo es que hay otra cosa mal.


El 5 de enero de 2011 12:27, Google Cris <[email protected]
> escribió:

> Otra vez yo muchachos
>
> Ya pude hacer lo que me indico José y Edgar:
>
> Puede hacer tanto el parent.RemoveChild(child) como el
> parent.Childs.Remove(this).
>
> El problema era que estaba compilando el dll Entidades.Proyecto.dll en
> un sitio equivocado :S
>
> Ahora bien, igual tengo la duda de si es posible no tener que
> indicarle al padre que borre todos los hijos?
>
> O como haria para que el scripts me lo genere del siguiente modo? (con
> on delete cascade;)
>
> alter table public.T_rEsquemaStandoff add constraint
> FKD76D1201EE3C79D0 foreign key (FK_CodigoEscenario) references
> public.T_pEscenario on delete cascade;
>
> Tampoco se si es una buena practica. Que me recomiendan ustedes?
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>

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

Responder a