Puoi facilmente utilizzare NHibernate per rendere la tua applicazione indipendente dal database seguendo alcune pratiche di base:
- Progetta prima il tuo modello a oggetti.
- Non utilizzare alcun codice specifico del database. Hai bisogno di qualcuno con una buona esperienza C#, non uno sviluppatore Oracle. Non fare affidamento su elementi come trigger, stored procedure, ecc.
- Lascia che NHibernate generi gli schemi DB almeno inizialmente (puoi modificare cose come gli indici in un secondo momento) Sceglierà i migliori tipi di dati disponibili per ciascun DB.
- Utilizzare un generatore POID indipendente dal DB (
hilo
oguid
) invece di sequenze o identità. - Cerca di evitare di usare SQL. HQL e Linq funzionano bene nel 99% dei casi.
- Evita le funzionalità di NH che non sono supportate da tutti i tuoi DB di destinazione (ad esempio, Future, MultiCriteria, ecc.)
NHibernate ha una grande comunità. Puoi sempre porre le tue domande in http://groups.google.com/group/nhusers oltre a postare qui.