Посмотрите на этот вопрос ответ: Как хранить и картинки в Db40?
Я еще раз опубликовал свой ответ, немного обновленный со ссылками на документацию по Java:
Существует два основных способа обработки BLOB-объектов.Либо вы храните большой двоичный объект в виде байтового массива в базе данных, либо используете специальный тип db4o-Blob.Оба имеют свои преимущества.
Преимущества / недостатки с байтовым массивом:
- BLOB-объекты находятся в файле db4o-database-file.Таким образом, существует только один файл для копирования.
- Байт-массивы являются частью обычной транзакции db4o и ведут себя как ожидалось.
- При хранении больших двоичных объектов вы можете столкнуться с ограничение размера базы данных db4o .(256 ГБ)
Преимущества / недостатки с db4o-blob
- BLOB-объекты хранятся как обычные файлы вне базы данных.Это сохраняет базу данных маленькой.Более того, вы можете просто получить доступ ко всем сохраненным BLOB-объектам с помощью обычного приложения.
- Вам всегда нужно копировать каталог BLOB-объектов и базу данных.
- Db4o-blob работает вне транзакции db4o.Это означает, что db4o-blob ведет себя не так, как любой другой хранимый объект (а API немного странный).Однако это позволяет получить блоб db4o, не блокируя текущую транзакцию.
В вашем случае я бы сохранил массив byte [] с изображением в классе Person.Или вы создаете специальный Image-класс.Этот класс изображений содержит байтовый массив с изображением.И несколько методов для преобразования этого байтового массива из и в битовую карту Winforms.