Hola,

Con respecto a tu segunda pregunta te comento que cuando tu haces un
session.Save o session.Update etc, tu le estas simplemente notificando
a tu unidad
de trabajo <http://martinfowler.com/eaaCatalog/unitOfWork.html> lo que estas
haciendo con tus entidades.  Te comento que el SaveOrUpdate no es necesario
pues NHibernate automaticamente persiste la actualizacion de los cambios de
las entidades que has traido por medio de la sesion, normalmente lo que uno
notifica es la creacion /eliminacion de entidades.  Tu podrias cambiar el
FlushMode para que te persista de inmediato tus cambios sin embargo no es
muy recomendable.  Ahora, lo que entiendo de tu mail es que tu estas
haciendo el Flush manualmente, lo recomendable es realizar todo dentro de
una transaccion en donde el flush es controlado automaticamente por la misma
transaccion.

ejemplo:

using(var tx = session.BeginTransaction())
{

     tx.Commit();
}

Saludos,
Nestor Rodriguez

2010/11/20 tolemaC <[email protected]>

> Hola chicos,
>
> Estoy haciendo un proyecto de gestión sobre WinForms con SQL Server y
> C# 4.0.
> Me he decidido por usar NHibernate (+ Fluent Nhibernate) y estoy muy
> contento con él.
>
> Tengo dos dudas aunque en principio no son un problema:
>
> 1) Cuando bajo una transacción creo una nueva entidad y llamo a
> Session.SaveOrUpdate(entidad), NHibernate me bloquea la tabla en la
> base de datos hasta que no hago Commit o Rollback. Al menos no puedo
> consultarla con el SQL Management Studio. El IsolateLevel de la
> transacción es ReadUncommitted. Hay alguna forma de que no te bloquee
> la tabla y se puedan ver los datos, que todavía no están confirmados,
> con el SQL Management Studio?
>
> 2) Estoy manejando los eventos de la sesión (Events, no uso
> Intercetors), me he dado cuenta de que cuando llamo a
> Session.SaveOrUpdate no se generan los eventos hasta que no hago Flush
> en la sessión, ¿es normal? ¿como prodría evitarlo?, a mi me da igual
> cuando se haga flush, pero si me interesa mucho que el evento se
> dispare cuando llamo a SaveOrUpdate.
>
> Un saludo a todos y gracias de antemano.
>
> --
> 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