Exacto José gracias lo pude resolver.

Yo deshice de mi codigo lo que cambie en el xsd de nhibernate y
también lo de las clases de hibernate, por lo tanto, para resolver la
eliminación adapte mis entidades a las mejoras que me dijeron y ahora
si funciona

Entonces me quedo así:

Clase Hijo:

No coloque en la clase hijo en las relaciones con el padre el
cascade="delete" pues esto hace que al borrar el hijo, se eliminen los
padres también.

Por lo tanto la relación hijo / padre quedo así:

<many-to-one name="Escenario" class="pEscenario, Entidades.Proyecto"
       column="FK_CodigoEscenario" not-null="true">
</many-to-one>

Y para borrar no fue necesario el null en el padre.

while (listaREsquemaStandoff.Count != 0)
{
       listaREsquemaStandoff.Remove(listaREsquemaStandoff[0]);
}

Clase Padre:

Para establecer una eliminación en cascada Padre / Hijos, al momento
de eliminar al padre se eliminen el hijo también, se debe tener en
cuenta el on-delete="cascade" en el key del set. Del siguiente modo:

<set name="EsquemaStandoff" table="T_rEsquemaStandoff" inverse="true">
        <key column="FK_CodigoEscenario" on-delete="cascade"/>
        <one-to-many class="rEsquemaStandoff, Entidades.Comunes"/>
</set>

Esto permitirá que el scripts de la relación se genere del siguiente
modo y permita la eliminación en cascada:

alter table public.T_rEsquemaStandoff add constraint
FKD76D1201EE3C79D0 foreign key (FK_CodigoEscenario) references
public.T_pEscenario on delete cascade;

Bueno Gracias a Todos por sus respuestas y ayudarme a resolver.

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