2011-08-23 52 views
1

我想使用db4o在Prism應用程序中保留我的業務對象。我應該如何保持IObjectContainer的生命週期?正如我從文檔中知道的那樣,當我用一個容器加載對象時,我應該使用同一個容器來保存它。所以也許某種單身人士的範圍應該是對的。但是容器並沒有引用每一個經過它的對象,因爲這不會導致內存泄漏之類的東西?在帶棱鏡的MVVM應用程序中使用DB4O

我讀了一些關於每個業務事務對話的內容,但它是針對nHibernate的,我猜nHibernate的會話和db4o的容器是完全不同的東西。

當然,我正在談論嵌入式db4o的桌面應用程序。所以,沒有服務器/客戶端。

+0

db4o只保留對對象的弱引用。它不應該讓任何對象自己保持活着。 – Gamlor

回答

0

對於桌面應用程序,擁有全局容器通常更容易。這樣你就可以存儲/更新對象而沒有任何問題。所以單身適用範圍應該是正確的。

db4o容器只包含對對象的弱引用。這意味着它不應該阻止收集對象。

我的桌面應用程序與db4o我們有一個單一的對象容器。在每次邏輯操作之後,我們只是承諾保留所有更改。