2012-03-15 15 views
7

Recibo un error cuando elimino un objeto de una colección que se volverá a guardar porque existe en otras colecciones. En la sesión actual solo existe la colección en la que estoy trabajando. No hay otros. Así que creo que NHibernate me está diciendo que aunque el objeto se eliminará, todavía existe en la sesión.Ver los objetos de sesión de NHibernate

¿Cómo puedo ver los objetos que están en la sesión actual o en qué colección NHibernate encontró que el objeto que intento eliminar pertenece?

+0

Debe publicar la excepción completa. Además de la asignación específica de la colección en la que intentas eliminar un objeto. También el código en el que intentas eliminar/eliminar este objeto. –

+0

¿Olvidaste eliminar el objeto de alguna colección? session.Delete no es suficiente – Firo

Respuesta

13

me pareció:

var sessionContext = session.GetSessionImplementation().PersistenceContext; 
foreach (var entity in sessionContext.EntitiesByKey.Values) 
{ 

} 

el contexto contiene todos los objetos que están en la sesión.

Cuestiones relacionadas