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

Responder a