У меня есть многопоточное приложение NHibernate с ThreadStaticSessionContext.
Я связываю каждую ветку с новым сеансом. Перед выходом из потока я фиксирую транзакцию и получаю
enumerator was modified
at NHibernate.Util.SequencedHashMap.OrderedEnumerator.MoveNext()
at NHibernate.Util.IdentityMap.get_EntryList()
at NHibernate.Util.IdentityMap.ConcurrentEntries(IDictionary map)
at NHibernate.Event.Default.AbstractFlushingEventListener.PrepareEntityFlushes(IEventSource session)
at NHibernate.Event.Default.AbstractFlushingEventListener.FlushEverythingToExecutions(FlushEvent event)
at NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)
at NHibernate.Impl.SessionImpl.Flush()
at NHibernate.Transaction.AdoTransaction.Commit()
at ...
Понятия не имею ...