Ну, три предложенные базы данных очень разные по своей природе.SQLCE с Hibernate в качестве СУБД с ORM, db4o в качестве базы данных объектов и RavenDB в качестве базы данных документов.У каждого из них есть свои сильные стороны.
SQL CE и NHibernate-Combo Благо:
- Исключительно хорошая поддержка в области инструментов, знания и большое сообщество есть
- Простота обновления до серверов MS SQL
- Хорошая поддержка отчетов Extrem
- Мощь SQL
Плохое:
- Требуется сопоставление
- Отображение между ОО и реляционным миром непросто и может привести к проблемам со сложными моделями.
RavenDB
Хорошее:
- Нет необходимости в отображении
- Простота использования
- Мощное индексирование
- JSON & HTTP-доступ
Плохо:
- Если ваш домен не подходит для документа-ориентированного подхода, это будет довольно болезненно
- Он не поддерживает клиентский профиль .NET Framework (что особенно важно, поскольку вопрос ОП касается встроенных баз данных)
db4o
Товар:
- Нет необходимости в отображении
- Простота использования
- Модель хранения близка к объектной модели.Это также работает для очень сложных моделей.
Плохое:
- Поддержка инструментов слабая.
Afaik все три поддерживают LINQ иPOCO-первый подход.Однако, поскольку NHibernate & SQL CE по-прежнему нуждаются в тоннах картирования, оно не так свободно, как могло бы быть.
Я думаю, что если вы сосредоточены в первую очередь на POCO, поддержке LINQ, использовании ebedded и простоте использования, я бы попробовал RaveDB или db4o.Если вы сосредоточены на «безопасности», знаниях сообщества, поддержке инструментов и отчетности, я бы выбрал NHibernate и SQL CE.