De todas formas, puedes ejecutar la consulta indicando directamente el lock que quieres hacer:
session.Get(persitentType, id, LockMode.Upgrade); session.Load(persitentType, id, LockMode.Upgrade); Saludos On 24 ago, 16:37, Diego <[email protected]> wrote: > Buenas a todos antes que nada. > Les cuento que empece trabajar con NH hace unos 6 meses. > Y ahora que tengo la aplicacion corriendo con varios usuarios tengo > graves problemas con el tema de la concurrencia. > He leido el articulo de Ayende y el knol (creo que lo escribio Fabio). > El tema es que pruebo hacer un Lock al momento de hacer un Upgrade y > no funciona. > Tambien probe hacer un Lockeo pesimista y tampoco funciona. > Me parece que no lo se implementar. > Quiero hacerlo funcionar sobre un objeto sencillo para despues hacerlo > funcionar en los lugares criticos de la aplicacion. > > Lo que probe y no me funciona es lo siguiente: > public Object GetById(int bancoId) > { > using (ISession session = NHibernateHelper.OpenSession()) > using (ITransaction transaction = > session.BeginTransaction()) > { > Banco tempBanco = session.Get<Banco>(bancoId); > session.Lock(tempBanco, LockMode.Upgrade); > transaction.Commit(); > return tempBanco; > } > > } > > Ahora 2 usuarios levantan el mismo objeto Banco lo modifican y a > ninguno le tira el ObjectStaleException. > > Alguien me puede decir que estoy haciendo mal y orientarme para ver > como lo arreglo?? > Saludos > Diego -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
