ActiveRecord / NHibernate:在持久性 - 无意识的上下文中处理Lazy集合

时间:2008-12-04 10:25:02

标签: c# castle-windsor castle-activerecord

我的网络应用程序(MonoRail,Windsor,ActiveRecord)有一个Startable导入服务和一个或多个Startable导入阅读器。例如,当文件被放入目录中时,阅读器会解析该文件,将数据传递给服务,该服务通过存储库更新和/或创建对象。我遇到的问题是这些Startable服务存在于请求范围之外(从Begin到End的SessionScope),所以当服务遇到惰性集合时,没有SessionScope可以帮助它实现它的魔力。 Cue LazyInitializationException:)。

任何想法如何很好地解决这个问题?也许使用拦截器围绕处理数据的方法创建和配置SessionScope?为存储库配备执行急切提取的方法?我想保持服务不知道ActiveRecord,因为我的依赖性偏执说我们可能希望有一天使用不同的持久性机制。

1 个答案:

答案 0 :(得分:0)

你已经回答了:

  

使用拦截器来创建和   在Session周围配置一个SessionScope   处理数据的方法