2012-03-15 18 views
7

Continuo a ricevere un errore quando elimino un oggetto da una raccolta che verrà resaved perché esiste in altre raccolte. Nella sessione corrente esiste solo la collezione su cui sto lavorando. Non ce ne sono altri. Quindi penso che NHibernate mi stia dicendo che anche se l'oggetto verrà eliminato, esiste ancora nella sessione.Visualizza oggetti sessione NHibernate

Come posso visualizzare gli oggetti presenti nella sessione corrente o in quale raccolta NHibernate ha rilevato che l'oggetto che sto tentando di eliminare appartiene?

+0

È necessario pubblicare l'eccezione completa. Oltre al mapping specifico per la raccolta in cui stai tentando di eliminare un oggetto. Anche il codice in cui stai tentando di rimuovere/eliminare questo oggetto. –

+0

ti sei dimenticato di rimuovere l'oggetto da qualche raccolta? session.Delete non è sufficiente – Firo

risposta

13

l'ho trovato:

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

} 

contesto contiene tutti gli oggetti che si trovano nella sessione.

Problemi correlati