using (var tran = repository.Session.BeginTransaction())
{
try
{
repository.Save(entity);
tran.Comit();
}
catch(Exception)
{
tran.Rollback();
throw;
}
}
using (var tran = repository.Session.BeginTransaction())
{
try
{
repository.GetById(id);
tran.Comit();
}
catch(Exception)
{
tran.Rollback();
throw;
}
}
Cuando intento para conseguir entidad por Id después de excepción y tran.rollback() en primer lugar utilizando ... consigo excepción de actualización. Entonces nhibernate está tratando de actualizar la entidad desde el primer uso en el segundo uso.NHibernate estado de sesión después de 3 rollback()
¿Por qué? Hice la tran.Rollback. ¿Debo hacer Session.Clear() también?
Gracias
Ok, pero mi sesión está gestionada contextualmente por structuremap ioc, y es por llamada wcf. Si elimino la sesión, tendré errores en otra parte. – Luka
¿Qué excepciones estás obteniendo? ¿Puedes tratar de prevenirlos? ¿Puedes publicarlos aquí? – gdj
Estoy obteniendo GenericAdoException, porque estoy tratando de insertar un valor duplicado, que debe ser exclusivo. Pero ese no es el punto. Necesito saber cuál es la mejor práctica. Hasta ahora tengo manejo de excepciones como el anterior. Pero ahora, veo que esto no será suficiente. – Luka