我想使用db4o在Prism应用程序中保存我的业务对象。我应该如何维护IObjectContainer的生命周期?正如我从文档中所知,当我用一个容器加载对象时,我应该用同一个容器保存它。所以也许某种单身范围应该是正确的。但容器是否保持对每个通过它的对象的引用,因为这不会导致内存泄漏?
我读了一些关于每个业务事务的对话,但它是针对nHibernate的,我猜nHibernate的会话和db4o的容器是完全不同的东西。
当然,我说的是嵌入式db4o的桌面应用程序。所以,没有服务器/客户端。
答案 0 :(得分:0)
对于桌面应用程序,拥有全局容器通常更容易。这样你就可以毫无问题地存储/更新对象。因此,单身范围应该是正确的范围。
db4o容器只保存对象的弱引用。这意味着它永远不应该阻止收集对象。
我的桌面应用程序与db4o我们有一个对象容器。在每次逻辑操作之后,我们只承诺保留所有更改。