c# - NHibernate 异常枚举器已修改

标签 c# nhibernate

我有一个带有 ThreadStaticSessionContext 的多线程 NHibernate 应用程序。
我为每个线程绑定(bind)一个新 session 。在退出线程之前,我提交了事务,我得到了

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 ...

我一点头绪都没有...

最佳答案

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

关于c# - NHibernate 异常枚举器已修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2101252/

相关文章:

.net - 将 MEF 与 NHibernate 和 CaSTLe Windsor 一起使用

Windows 服务上的 C# & NHibernate "Could not compile the mapping document"

nhibernate - SQLite 中针对 NHibernate 的 ReadUncommitted 中断

c# - 将对象反序列化为自身

c# - 从 DataGridViewCheckBoxCell 获取值

c# - 为什么 Lucene 提升查询的分数低于相同的普通查询?

.net - 如何使用SQL Server 2005在NHibernate中映射uint

c# - Oculus Rift,如何在 Visual Studio 中添加库

c# - TextInfo.ToTitleCase 对于全部大写字符串没有按预期工作

c# - NHibnerate 数据设计建议