NHibernate můžete snadno použít k tomu, aby vaše aplikace byla agnostická pro databázi, a to dodržováním několika základních postupů:
- Nejprve navrhněte model objektu.
- Nepoužívejte žádný kód specifický pro databázi. Potřebujete někoho s dobrými zkušenostmi s C#, ne vývojáře Oracle. Nespoléhejte na věci jako triggery, uložené procedury atd.
- Nechte NHibernate generovat schémata DB alespoň zpočátku (můžete věci jako indexy vyladit později). Pro každou DB vybere nejlepší dostupné datové typy.
- Použijte DB-agnostický generátor POID (
hilo
neboguid
) namísto sekvencí nebo identity. - Snažte se vyhnout používání SQL. HQL a Linq fungují dobře v 99 % případů.
- Vyhněte se funkcím NH, které nejsou podporovány všemi cílovými databázemi (například Future, MultiCriteria atd.)
NHibernate má skvělou komunitu. Své dotazy můžete kdykoli klást na http://groups.google.com/group/nhusers kromě toho, že zde zveřejňujete příspěvky.