NHibernate异常枚举器已修改

Dae*_*ohn 5 c# nhibernate

我有一个带有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 ...
Run Code Online (Sandbox Code Playgroud)

我没有头绪...

Ric*_*lay 1

当您在枚举集合时添加/删除集合时(例如在语句中foreach),通常会引发此异常。