Если вы еще не пробовали DB4O, я думаю, вы будете удивлены. Это очень легко использовать в приложении .Net. Вы можете сохранить любой объект .Net с помощью одной строки кода и повторно обработать его с помощью одной строки. Кроме того, вы можете использовать LINQ для запроса ваших объектов, что облегчает поиск.
Единственным реальным недостатком является то, что производительность может ухудшиться, если у вас большой набор данных, если вы не проиндексировали данные правильно. Создание этих индексов исправит проблемы с производительностью, но их несколько сложно создать эффективно.
Наконец, имейте в виду, что DB4O является лицензированной системой GPL. Это копия, оставленная лицензией, поэтому вы не можете распространять свое приложение кому-либо без публикации исходного кода под лицензией GPL.
В общем, DB4O великолепен в небольших приложениях, которые вы описываете!