Можете лесно да използвате NHibernate, за да направите вашето приложение независимо от база данни, като следвате някои основни практики:
- Първо проектирайте своя обектен модел.
- Не използвайте код, специфичен за базата данни. Имате нужда от някой с добър C# опит, а не от разработчик на Oracle. Не разчитайте на неща като тригери, съхранени процедури и т.н.
- Нека NHibernate генерира схемите на DB поне първоначално (можете да настроите неща като индекси по-късно) Той ще избере най-добрите налични типове данни за всяка DB.
- Използвайте DB-агностичен POID генератор (
hilo
илиguid
) вместо последователности или идентичност. - Опитайте се да избягвате използването на SQL. HQL и Linq работят добре в 99% от случаите.
- Избягвайте NH функции, които не се поддържат от всичките ви целеви DB (например Future, MultiCriteria и т.н.)
NHibernate има страхотна общност. Винаги можете да зададете въпросите си на http://groups.google.com/group/nhusers, освен да публикувате тук.