以下是我正在做的步骤 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();
}
}
所以一旦完成一个实体的进程并在修改子对象时开始处理下一个实体就抛出延迟加载异常,说会话已关闭。
有谁可以帮我找到这个问题的原因?
感谢。
答案 0 :(得分:0)
你不需要刷新任何东西,因为你已经在创建一个using语句,如果你的对象在范围外就会清除它。
答案 1 :(得分:0)
由于第一次修改工作,我猜测作为副作用的存储库或作用域正在关闭会话。