【发布时间】:2011-08-23 22:05:20
【问题描述】:
我想使用 db4o 在 Prism 应用程序中持久化我的业务对象。我应该如何维护 IObjectContainer 的生命周期?正如我从文档中知道的那样,当我用一个容器加载对象时,我应该用同一个容器保存它。所以也许某种单例范围应该是正确的。但是容器不会保持对通过它的每个对象的引用,因此它不会导致内存泄漏之类的事情吗?
我读过一些关于 Conversation per Business Transaction 的文章,但它是针对 nHibernate 的,我猜 nHibernate 的会话和 db4o 的容器是完全不同的东西。
当然,我说的是带有嵌入式 db4o 的桌面应用程序。所以,没有服务器/客户端。
【问题讨论】:
-
db4o 只保留对对象的弱引用。它不应该让任何对象自己保持活动状态。