Pues no, probando ahora con otras entidades me siguie saliendo la
misma excepcion "Initializing[Operacion#21038,02]-failed to lazily
initialize a collection of role: Operacion.priParticipes, no session
or session was closed". De momento para hacer un refresh  tengo que
hacer

session.Evict(entity)
Dim obj As T = session.Get(entity.GetType, Identificador)
entity = obj

asi me coge los cambios que se producen por cualquier proceso
independiente pero el Objeto antes del refresh y el Objeto despues del
refresh no conservan el mismo hashcode.

Alguien se anima???


On 20 abr, 12:24, Mendu <[email protected]> wrote:
> (perdon, le di a enviar sin querer)
>
> ME FUNCIONA. ha sido usando Query.SetCacheMode(CacheMode.Refresh) pero
> obligado a usar antes EVICT,  si no no refresca nada.
>
> Bueno, me gustaria si alguien ha peleado con esto que comentase sus
> impresiones, en la documentacion leo sobre Query.SetCacheMode que
> "This is a more efficient alternative to eviction of a query cache
> region via ISessionFactory.EvictQueries()" asi que me desconcierta un
> poco y preferiria no tener que hacer un evict.
>
> un saludo
>
> On 20 abr, 12:15, Mendu <[email protected]> wrote:
>
>
>
> > volviendo con mi problema de hacer un refresh de una entidad que ha
> > podido ser actualizada por un proceso independiente, he visto en la
> > documentacion el uso de IQuery.SetForceCacheRefresh() que luego en el
> > foro he visto que esta obsoleta y ahora utlilizamos como dice Fabio
> > IQuery.SetCacheMode(CacheMode.Refresh) . pues bien lo he echo y sigue
> > sin refrescarme los datos.
>
> > Dim obj As ArrayList = session.CreateQuery("from " &
> > Me.persitentType.Name & " e where
> > e.Numero=71").SetCacheMode(CacheMode.Refresh).List
>
> > y este obj no trae los cambios realizados en la bd.
>
> > Para que el refresh funcione y recoja los cambios tengo que hacer
> > antes un session.Evict(entity) y asi si veo la entidad actualizada.
>
> > --------Pero a la hora de guardar me da la excepcion de.... ----------
> > un segundo....
>
> > ME
>
> > On 19 abr, 13:53, Mendu <[email protected]> wrote:
>
> > > Hola a Todos, estoy actualizandome a la version 2.1 y me ha surgido un
> > > problema con evict y refresh.
>
> > > Antes hacia un evict y refresh de algunos objetos que sus propiedades 
> > > podian
> > > ser cambiadas por cualquier otro usuario y con evict y refresh me
> > > actualizaba la entidad con cualquier cambio que cualquier usuario pudiera
> > > haber echo en la bd.
>
> > > Desde que he actualizado a la 2.1  me esta dando una excepcion como:
> > > - Initializing[Operacion#32,01]-failed to lazily initialize a collection 
> > > of
> > > role: Operacion.priParticipes, no session or session was closed
>
> > > Si no hago evict y uso solo el refresh entonces me da la excepcion:
> > > UnresolvableObjectException: No row with the given
> > > identifier exists
>
> > > Por supuesto que para que me de estas excepciones tengo que cargar la
> > > entidad, luego modificarle alguna propiedad en la bd y luego hago refresh
> > >  para ver si recarga... y no lo hace. (antes con la 1.2 si lo hacia)
>
> > > agradezco cualquier comentario, duda, consejo.....
>
> > > Gracias
>
> > > --
> > > 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
>
> --
> 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