Raul, el unico caso de uso que se me ocurre para "actualizar de un saque" es entrar a una orden por ejemplo y modificar todas las lineas segun ciertos criterios.
Acabo de commitear a mi caso de uso de uNHAddins justo eso. Es decir, abris una orden, y agregas 3 o 4 productos. Luego vas de una vez y corregis el unit price de cada producto en el GUI y al final de la conversacion queres que en un solo model.Persist(currentOrder) se actualicen todas las lineas que se cambiaron. Bajate el trunk y si algo no entendes pegame el grito. Gustavo. On Wed, Jan 14, 2009 at 6:17 PM, Raul Lopez <[email protected]> wrote: > > Hola Gustavo, estoy experimentando buscando alguna manera que me permita > actualizar un aggregate todo de un saque. En este caso seria la factura y > sus lineas asociadas. > No se si la estrategia de borrar toda la coleccion y perisitirla nuevamente > es buena (no me gusta mucho), pero es lo que se me ocurrio en principio. Si > me podes sugerir aluna alternaltva te agradezco mucho. > Estuve viendo lo de las sesiones y realmente la "gran sesion" es un gran > dolor de cabeza. Ahora lo que hago es enviarle el objeto factura y la > coleccion de lineas al repositorio a los metodos AddFactura y UpdateFactura > segun corresponda y que el repositorio se ocupe... El ambito de la sesion > queda limitado al metodo en cuestion en el repositorio y el commit lo hago > ahi mismo. > Manejar una sesion por metodo del repositorio me simplifico la vida y como > bien me sugeriste, el tema del lazy lo solucione con eager aplicado > puntualmente. > > Respecto a uNHAddins, vi el ejemplo del trunk, pero me quedan muchas cosas > sin entender. La idea es ir incorporando los conceptos de a poco y por el > momento manejarme de la forma mas plana y segura posible. > En resumen, es experimental pero necesito una forma de actualizar las > colecciones usando NH. > En este caso puntual, el cascade es all-delete-orphan con inverse=true en > la factura. > > Saludos, > Raul. > > > Gustavo Ringel escribió: > > Raul, estas probando cosas teoricas o en un caso practico? Porque en el > > ejemplo anterior como apunto Carlos lo del Child no parecia algo que > > fuera a aparecer en una aplicacion real. > > Quizas ahora estes pecando del mismo tema...estas tratando de aprender > > algo pero en el ejemplo metes algo que no vas hacer en la realidad... > > > > Que estrategias estas usando de cascade? > > > > Gustavo. > > > > On Wed, Jan 14, 2009 at 5:37 PM, Raul Lopez <[email protected] > > <mailto:[email protected]>> wrote: > > > > > > Hola, estoy tratando de actualizar una coleccion borrando la > > existente y generando una nueva. > > > > El metodo seria algo asi: > > > > factura.Lineas.Clear(); > > factura.AddLineas(_lineas); > > > > - cuando genero la coleccion por primera vez no hay problema > > - cuando borro y genero la coleccion con los mismos elementos no hay > > problema > > - cuando borro y genero la coleccion con nuevos elementos da el > > siguiente error: "deleted object would be re-saved by cascade > > (remove deleted object from associations)". > > > > Estuve mirando en google y el error tendria que ver con que la > > coleccion, que se maneja con cascade esta asociada a mas de un padre > > (producto P.Ej) pero no me doy cuenta como desasociar la relacion. > > > > Saludos, > > Raul. > > > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
