2012-07-10 106 views
0

下面是我在做什么 1)获取所有的entites处理每个实体单独NHibernate的延迟加载问题

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(); 
    } 
    } 

所以有一次,一个实体的过程中完成的数据 2)工艺,并开始步骤在修改子对象时处理下一个实体抛出延迟加载异常说会话关闭。

任何人都可以请帮我找到这个问题的原因?

谢谢。

+0

什么是'repository'?提供更多的代码,使这个问题更清楚 – harry180 2012-07-10 06:58:41

回答

0

你不需要刷新任何东西,因为你已经在创建一个using语句,它将在你的对象一旦被删除时清除它,如果是scope的话。

+0

但是这不会解决问题 – 2012-07-11 01:01:53

0

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

+0

是的,可能是什么东西只有在那里......但不知道什么.... – 2012-07-11 01:02:37