Sie können NHibernate ganz einfach verwenden, um Ihre Anwendung datenbankunabhängig zu machen, indem Sie einige grundlegende Verfahren befolgen:
- Entwerfen Sie zuerst Ihr Objektmodell.
- Verwenden Sie keinen datenbankspezifischen Code. Sie brauchen jemanden mit guter C#-Erfahrung, keinen Oracle-Entwickler. Verlassen Sie sich nicht auf Dinge wie Trigger, gespeicherte Prozeduren usw.
- Lassen Sie NHibernate zumindest anfänglich die DB-Schemata generieren (Sie können Dinge wie Indizes später anpassen). Es wird die besten verfügbaren Datentypen für jede DB auswählen.
- Verwenden Sie einen DB-agnostischen POID-Generator (
hilo
oderguid
) anstelle von Sequenzen oder Identitäten. - Vermeiden Sie die Verwendung von SQL. HQL und Linq funktionieren in 99 % der Fälle einwandfrei.
- Vermeiden Sie NH-Funktionen, die nicht von allen Ihrer Zieldatenbanken unterstützt werden (z. B. Future, MultiCriteria usw.)
NHibernate hat eine großartige Community. Sie können Ihre Fragen neben dem Posten hier auch jederzeit unter http://groups.google.com/group/nhusers stellen.