Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/03/2010, 15:21
XDMerinoM
 
Fecha de Ingreso: febrero-2010
Ubicación: Guayaquil - Ecuador
Mensajes: 350
Antigüedad: 14 años, 3 meses
Puntos: 13
NHibernate error al actualizar

Saludos a todos
Trabajo con asp 2.0 y c# en una aplicacion web junto con nhibernate y se me ha presentado un problema: resulta que al momento de actualizar un objeto no lo hace o bien lo hace pero no funciona el tema de transaccionalidad. El codigo que uso es el siguiente:

IWorkspace _ws;

Conexion ManejadorConexion = new Conexion();
_ws = ManejadorConexion.Conectar(_ws);

_ws.Initiate();
_ws.BeginTransaction();

Realizo la consulta del objeto actualizar.
try
{
foreach (objetos obj in Listaobjetos)
{
obj.propiedad1 = valor1;
obj.propiedad2 = valor2;
obj.propiedad3 = valor3;

if (!propiedad4.equals(""))
{
Consulto segundo objeto

obj2.propiedad1 = valor4;
obj2.propiedad2 = valor5;
}

_ws.PersistAll();
}

_ws.CommitTransaction();
}
catch
{
_ws.RollBackTransaction();
}
finally
{
_ws.Terminate();
}

Pero al momento de realizar el commit, los cambios no se ven reflejados en la base de datos. Cabe destacar que el metodo PersistAll ya realiza el flush en la base de datos de los objetos modificados; ademas, se consulta un objeto para el proceso. cosa que el foreach se realizara solo una vez.
Los mapeos los genere con codesmith y siempre me han funcionado correctamente, lo mas rescatable es un grupo que se consulta en uno de los mismos:

<list name="Groups" table ="grupo" lazy="true" cascade="all">
<key column="ID" />
<index column="Orden" />
<many-to-many column="IDGrupo" class="Grupo"/>
</list>

Alguna idea de lo que podria estar pasando? toda ayuda sera bien recibida