Puede usar fácilmente NHibernate para hacer que su aplicación sea independiente de la base de datos siguiendo algunas prácticas básicas:
- Diseñe su modelo de objeto primero.
- No utilice ningún código específico de la base de datos. Necesita a alguien con buena experiencia en C#, no a un desarrollador de Oracle. No confíe en elementos como activadores, procedimientos almacenados, etc.
- Deje que NHibernate genere los esquemas de la base de datos al menos inicialmente (puede modificar cosas como los índices más adelante). Elegirá los mejores tipos de datos disponibles para cada base de datos.
- Utilice un generador de POID independiente de la base de datos (
hilo
oguid
) en lugar de secuencias o identidad. - Intente evitar el uso de SQL. HQL y Linq funcionan bien en el 99 % de los casos.
- Evite las funciones de NH que no son compatibles con todas sus bases de datos de destino (por ejemplo, Future, MultiCriteria, etc.)
NHibernate tiene una gran comunidad. Siempre puedes hacer tus preguntas en http://groups.google.com/group/nhusers además de publicar aquí.