0

这是我正在执行的步骤 1)让所有实体处理数据 2)单独处理每个实体

ForEach Entity
   {       
     using (TransactionScope scope = new TransactionScope())
     {
             - Modify Entity
             - Modify Child objects //Childs can be accesed by Lazy loading
             - _sessionFactory.GetCurrentSession().Update(Entity);
             - _sessionFactory.GetCurrentSession().Flush(); 
             - scope.Complete();
     }
  }

因此,一旦完成一个实体的处理,并在修改子对象时开始处理下一个实体,就会抛出延迟加载异常,说会话已关闭。

谁能帮我找出这个问题的原因?

谢谢。

4

2 回答 2

0

由于第一次修改有效,我猜想作为副作用的存储库或范围正在关闭会话。

于 2012-07-10T07:02:56.373 回答
0

您不需要刷新任何内容,因为您已经在使用 using 语句,一旦对象超出范围,它将清除您的对象。

于 2012-07-10T07:00:02.023 回答