La clase Persona sabe algo de sus solecitudes ? bueno... el tema es que seguis con la tablas per NH no te sirve si pensas en tablas, tenes que pensar en objetos y relaciones entre objetos, leer algo de DDD, aggregate roots y cosas por el estilo.
2011/4/5 Dennis Alba <alba2...@gmail.com> > a ver, de la forma en que esta estructurado las clases y en > consecuencia, las tablas es que una Solicitud tiene un objeto Persona, > por consiguiente, la tabla Solicitud tiene el Id de Persona. > Entonces lo que quiero es que cuando elimine a una persona se me > eliminen todas las ocurrencias de esa persona que se encuentra en la > tabla solicitudes, es esto lo que quiero lograr. > como es este el entorno, entonces uso un references en el mapeo que > ves y es ahi donde unico puedo poner las opcion en cascade, Por > cierto, segun Jose "el Cascade ahi significa otra cosa" es cierto > esto??? > > El 05/04/11, Fabio Maulo <fabioma...@gmail.com> escribió: > > claro > > lo que haces en Solicitud se propaga en Persona. > > que es que estas borrando ? > > > > 2011/4/5 Dennis Alba <alba2...@gmail.com> > > > >> Jose, por mas que lo piense e investigue en internet, todo tiende a > >> que el objetivo del cascade si es ese. > >> este es uno de los mensajes mas comunes > >> "cascade="all" - it tells NHibernate that all events (like save, > >> update, delete) should be propagated down. Calling > >> session.SaveOrUpdate(product) will save (or update) the product itself > >> but also the same event will be applied to all depending objects." > >> > >> asi que si me pudes ayudar como se hace esto que no sea por el cascade > >> .All() te lo agradeciera > >> > >> El 04/04/11, José F. Romaniello <jfromanie...@gmail.com> escribió: > >> > El cascade ahí significa otra cosa. > >> > Lo dejo picando para que la pienses. > >> > > >> > El 04/04/11, Banzai <alba2...@gmail.com> escribió: > >> >> Saludos tropa estoy presentando el siguiente problema con fluent, > >> >> tenmgo dos clases, Persona y Solicitud , donde la 2da tiene una > >> >> instancia de la 1ra, lo que en el mapeo seria un References > >> >> este es la clase de mapeo de solicitud > >> >> > >> >> public class MapeoSolicitud: ClassMap<Solicitud> > >> >> { > >> >> MapeoSolicitud() > >> >> { > >> >> // nombre de la tabla > >> >> Table("P_SOLICITUD"); > >> >> > >> >> // Llave primaria > >> >> Id(x => > >> >> > >> > x.IdSolicitud).Not.Nullable().Length(11).Column("SOL_ID_SOL").GeneratedBy.Native(); > >> >> > >> >> // Campos de la tabla > >> >> Map(x => > >> >> x.TipoPas).Column("PAS_TIPODC").Not.Nullable().Length(15); > >> >> Map(x => x.fechaSol).Column("FECHA_SOL").Nullable(); > >> >> > >> >> // relaciones con otras clases > >> >> References(x => > >> >> x.personaSol).Column("PERSOL").Cascade.All();// relacion con personas > >> >> } > >> >> } > >> >> } > >> >> > >> >> como pueden apreciar en la relacion con persona le tengo puesto > >> >> Cascade.All() con el objetivo que haga todas las cambios (update, > >> >> delete) igual en los hijos, pero cuando quiero eliminar una persona > >> >> que esta referenciada por una solicitud me da la siguiente exception: > >> >> > >> >> > >> >> could not delete: [MapeoSimple.EntidadesPersistentes.Persona#1][SQL: > >> >> DELETE FROM P_PERSONA WHERE PER_ID_PER = ?] > >> >> > >> >> cuyo innerexception es > >> >> > >> >> Cannot delete or update a parent row: a foreign key constraint fails > >> >> (`mapeosimple/p_solicitud`, CONSTRAINT `FK587B9A7AE89ACB8D` FOREIGN > >> >> KEY (`PERSOL`) REFERENCES `p_persona` (`PER_ID_PER`)) > >> >> > >> >> donde PER_ID_PER es la llave primaria en la BD de la Persona > >> >> > >> >> Alguien me puede decir que ocurre?? > >> >> Gracias > >> >> > >> >> -- > >> >> Para escribir al Grupo, hágalo a esta dirección: > >> >> NHibernate-Hispano@googlegroups.com > >> >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano > >> > > >> > -- > >> > Enviado desde mi dispositivo móvil > >> > > >> > -- > >> > Para escribir al Grupo, hágalo a esta dirección: > >> > NHibernate-Hispano@googlegroups.com > >> > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > >> > >> -- > >> Para escribir al Grupo, hágalo a esta dirección: > >> NHibernate-Hispano@googlegroups.com > >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano > >> > > > > > > > > -- > > Fabio Maulo > > > > -- > > Para escribir al Grupo, hágalo a esta dirección: > > NHibernate-Hispano@googlegroups.com > > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > > -- > Para escribir al Grupo, hágalo a esta dirección: > NHibernate-Hispano@googlegroups.com > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Fabio Maulo -- Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano@googlegroups.com Para más, visite: http://groups.google.com/group/NHibernate-Hispano