Bueno, las tres bases de datos sugeridas son muy diferentes en su naturaleza. SQLCE con Hibernate como RDBMS con ORM, db4o como base de datos de objetos y RavenDB como base de datos de documentos. Cada uno de ellos tiene sus puntos fuertes.
SQL CE & NHibernate-Combo Lo bueno:
- extremadamente buen apoyo en herramientas, los conocimientos y de una gran comunidad está ahí
- Fácil de upgrage a los servidores MS SQL
- Extrem buen soporte de informes
- La potencia de SQL
Lo malo:
- necesidades mapeo
- El mapeo entre la OO y el mundo relacional no es fácil y puede conducir a problemas con modelos complejos.
RavenDB
Lo bueno:
- No necesita ningún mapeo
- Fácil de usar
- indexación Potente
- JSON & acceso HTTP
Lo malo:
- Si su dominio no se ajusta a un enfoque orientado al documento, será muy doloroso
- No es compatible con el.Perfil NET Framework Client (que es de particular importancia como la pregunta del OP está en relación con las bases de datos embebidas)
db4o
Lo bueno:
- no necesita ningún mapeo
- Fácil de usar
- El modelo de almacenamiento está cerca del objeto-modelo. Esto también funciona para modelos muy complejos.
-
Lo malo: el apoyo de herramientas
Afaik las tres admiten el enfoque LINQ y POCO-first. Sin embargo, dado que NHibernate & SQL CE todavía necesita toneladas de mapeo, no es tan libre de fricción como podría serlo.
Creo que si su atención se centra en POCO primero, soporte LINQ, uso ebedded y fácil de usar, probaría RaveDB o db4o. Si se enfoca en la 'seguridad', el conocimiento de la comunidad, el soporte de herramientas y la elaboración de informes, yo iría con NHibernate y SQL CE.
posible duplicado de [Base de datos incrustada para .net] (http://stackoverflow.com/questions/684595/embedded-database-for-net) –
también http://stackoverflow.com/questions/2842189/good- embedded-database-solution-like-sqlite-for-net y http://stackoverflow.com/questions/271319/lightweight-sql-database-which-doesnt-require-installation –