Использование DB4O в приложении MVVM с Prism - PullRequest
1 голос
/ 24 августа 2011

Я хотел бы использовать db4o для сохранения моего бизнес-объекта в приложении Prism.Как мне поддерживать время жизни IObjectContainer?Как я знаю из документации, когда я загружаю объект одним контейнером, я должен сохранить его в том же.Так что, может быть, какой-то синглтонский охват должен быть правильнымНо разве контейнер не хранит ссылку на каждый объект, который проходит через него, и не вызывает ли это что-то вроде утечки памяти?

Я читал кое-что о разговоре для каждой бизнес-транзакции, но это было для nHibernate, и я предполагаю, что сессия nHibernate и контейнер db4o - это совершенно разные вещи.

Просто я говорю о настольном приложении свстроенный db4o.Итак, нет сервера / клиента.

1 Ответ

0 голосов
/ 24 августа 2011

Для настольных приложений обычно проще иметь глобальный контейнер.Таким образом, вы можете просто хранить / обновлять объекты без каких-либо проблем.Так что синглтон сфера должна быть правильной.

Контейнер db4o содержит только слабые ссылки на объекты.Это означает, что это никогда не должно препятствовать тому, чтобы объекты были собраны.

В моем настольном приложении с db4o у нас есть один контейнер объектов.После каждой логической операции мы просто сохраняем все изменения.

...