Raul si podes hace una mini aplicacion de ejemplo con un test, en la que tengas una estructura similar, y mandala con el test en rojo.
Mi experiencia es que en general al hacer la miniaplicacion de ejemplo aparece que el test pasa...y entonces empezas a entender por donde viene el error y que no estaba donde pensabas. Si por el contrario el test no pasa...manda a los archivos de la lista el test o mandame a mi mail particular y trato de ayudarte. Saludos. Gustavo. On Mon, Jan 12, 2009 at 2:06 PM, Raul Lopez <[email protected]> wrote: > > Hola Gustavo. > > si, probe eso y tambien encerrar entre _session.Transaction.Begin() y > _session.Transaction.Commit() y hace lo mismo. > Hay un tema de concepto, pero no me doy cuenta. > Este code es un prototipo de lo que me esta pasando en un programa real, y > el problema es que me estan apretando con los tiempos, si se te ocurre otra > forma de sustituir (o actualizar) la coleccion hija, por favor tirame una > linea. > > gracias, > Raul > > Gustavo Ringel escribió: > > el _session.BeginTransaction().Commit suena muy mal. > > > > probaste haciendo lo razonable: > > > > using (ITransaction tx = _session.BeginTransaction()) > > { > > ... > > > > tx.Commit(); > > } > > > > Asumiendo que tenes el flushMode en Commit tiene que andar. > > El get hacelo tambien en la misma transaccion...tenes que fijarte con el > > nivel de isolation porque si estas usando readcommited y te agregan > > parents en el medio podes tener problemas...no se cuan dinamico es. > > > > Gustavo. > > > > On Mon, Jan 12, 2009 at 12:15 PM, Raul Lopez <[email protected] > > <mailto:[email protected]>> wrote: > > > > > > Hola, por favor si me pueden dar una mano con esto. > > La idea es borrar la coleccion en el child y sustituirla con una > > nueva pero hay algo mal y no me doy cuenta. > > Lo que esta haciendo es generar un solo registro colgado del ultimo > > parent. > > > > _parents = _session.CreateCriteria(typeof(Parent)).List<Parent>(); > > > > foreach(Parent p in _parents) { > > > > p.Children.Clear(); > > > > } > > > > > > > > Child c = new Child(); > > > > c.Valor = 500; > > > > // agrega un child valor 500 a cada parent > > > > foreach(Parent p in _parents) { > > > > p.AddChild(c); > > > > _session.Update(p); > > > > } > > > > _session.BeginTransaction().Commit(); > > > > > > > > > > > > > > > > del mapeo del parent > > ... > > > > <bag name="Children" inverse="true" cascade="all-delete-orphan"> > > > > <key column="parent_id"/> > > > > <one-to-many class="Child"/> > > > > </bag> > > ... > > > > > > > > del mapeo del child > > > > > > ... > > <many-to-one name="Parent" column="parent_id" /> > > ... > > > > Desde ya muchas gracias. > > > > Saludos, > > Raul > > > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
