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
-~----------~----~----~----~------~----~------~--~---

Responder a