Hola Banzai, se me ocurren dos ideas: 1. Si esto es algo frecuente, creo que lo pensaría "como un proceso que agregue o combine en p2 los datos de p1 y luego borre p1 en cascada". Sería una solución mas orientada a objetos.
2. Si es algo que pasó y ahora tenés mecanismos de controles para que no vuelva a pasar, lo haría con un script en la db. Sería una solución mas orientada a datos. saludos. nelo 2011/11/17 Banzai <[email protected]>: > Disculpen que no haya respondido antes, pero no estaba viniendo a la > oficina, > mira el problema es el siguiente: Remontense a las clases que puse al > principio > La situacion problemica es que yo puedo llegar a tener dos personas > insertadas en el sistema p1 y p2, y en un momento determinado me > percato que los dos son la misma persona, entonces deseo pasar todas > las solicitudes,direcciones, fotos, lugar de nacimiento que eran de la > p1 a la p2. para ello hago el siguiente algoritmo > > en OtroNombre hay dos objetos persona (p1cuyo id es 49 y p2 cuyo id > es 65) mas un campo que explica porque estaban como si fueran > diferentes > > ITransaction transaction = MainClass.m_session.BeginTransaction(); > > - metodo que reasigna la foto de p1 a p2 > > - metodo que reasigna direccion de p1 a p2 > > - metodo que reasigna solicitud de p1 a p2 > > - metodo que elimina LugarNac de p1 > > - metodo que elimina OtroNomb donde esta p1 y p2 > > - metodo que elimina Persona p1 > > transaction.Commit(); > > ninguno de estos metodos hace commit adentro solo salvan en la sesion > de NHibernate, estos son los ejemplos: > reasignar : MainClass.m_session.Merge(direccion); > eliminar: MainClass.m_session.Delete(lugarnac); > > todos los metodos funcionan menos el ultimo que elimina la persona el > cual me da el siguiente error: > a different object with the same identifier value was already > associated with the session: 49, of entity: Proyecto.Persona > > Alguien sabe que significa este mensaje???? > > -- > 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
