Diego, Para que veas que soy un caballero: yo no disiento con vos. :-)
Por supuesto que Diego tiene razon pero, conceptualmente, lo que señala es el equivalente a un store procedure (mas precisamente un trigger) escrito en C#. Puede funcionar pero no es recomendable en un diseño nuevo, desde cero. Al menos en mi opinion. ---------------------------------- Carlos Peix 2010/1/20 Diego Mijelshon <[email protected]> > Disiento con Carlos respecto de si es _posible_ hacer esto, aunque estoy de > acuerdo en que no es un muy buen diseño. > > Para lograr algo así, podrías usar un PostInsertEventListener que haga la > actualización. > Algo más o menos así (no testeado): > > void OnPostInsert(PostInsertEvent @event) > { > var linea = @event.Entity as Linea; > if (linea != null) > @event.Session.CreateQuery("update Producto set Stock = Stock - > :cantidad where Id = :idProducto") > .SetParameter("cantidad", linea.Cantidad) > .SetParameter("idProducto", linea.Producto.Id) > .ExecuteUpdate() > } > > Así y todo, estarías usando un event listener, que es una herramienta de > infraestructura de NHibernate para un concern específico de negocio, lo cual > tiene bastante mal olor. > > Diego > > > 2010/1/20 Edgar Ramos <[email protected]> > >> Saludos a todos >> >> >> Como ejemplo similar el siguiente >> >> Tengo estas entidades, Venta, Linea (detalle de la venta), y Producto >> (con su stock), y requiero hacer lo siguiente >> >> Al momento de crear Una venta e ingresar su Detalle (Linea), me >> actualice el stock de cada uno de los productos (de Linea), >> basicamente stock=stock-(cantidad digitada) >> >> Puedo hacer esto ? >> >> Cualquier comentario es bienvenido >> >> Gracias nuevamente >> >> -- >> 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 >
-- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
