nhibernate evict

¿Qué hace NHibernate Session.Evict?



(2)

¿Qué hace el siguiente fragmento de código? ¿Por qué el uso de Evict ?

private void DoEvict(customer cust) { AddressRepository.Evict(cust.Address); cust.Address = AddressRepository.Get(cust.Address.Id); }


El desalojo elimina esa referencia específica de "Dirección" de la memoria caché de primer nivel de NHibernate.

Si la primera instrucción en su fragmento de código no se ejecutó, la segunda, en lugar de recuperar el elemento de la base de datos, simplemente lo devolverá de la caché de primer nivel.


Session.evict () se utiliza para eliminar un objeto particular del estado Persistente al estado Desconectado.