我有一个带有ThreadStaticSessionContext的多线程NHibernate应用程序。 我将每个线程绑定一个新的会话。在退出线程之前,我提交了事务,然后我得到了
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 ...
我没有线索......
答案 0 :(得分:1)
在枚举时从集合中添加/删除时,通常会抛出此异常(例如在foreach
语句中)。