NHibernate异常枚举器已被修改

时间:2010-01-20 12:23:38

标签: 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 ...

我没有线索......

1 个答案:

答案 0 :(得分:1)

在枚举时从集合中添加/删除时,通常会抛出此异常(例如在foreach语句中)。