NHibernate
"NHibernate is a .NET based object persistence library for relational databases. NHibernate is a port of the excellent Java Hibernate relational persistence tool."
NHibernate es una poderosa e útil librería para .NET de persistencia de objetos para Bases de Datos Relacionales (DB2, Oracle, SQL Server, PostgresSQL, MySQL entre otros).
Mi experiencia con NHibernate fue en un proyecto para la Catedra "Desarrollo de Aplicaciones Cliente Servidor" de 4to año de la Carrera de Ing. en Sistemas de la Universidad Tecnológica Nacional, Facultad Regional Resistencia. El Sistema consistía en una aplicacion Cliente/Servidor que contaba con un cliente .NET, y un servidor PostgresSQL 7.4 bajo un SuSE Linux 9.1.
Para realizar el trabajo y partiendo de 0% de conocimientos en Persistencia de Objetos nos valimos de herramientas que no ayudaron a trabajar con el NHibernate.
Para la generación de Entidades utilizamos el ObjectMapper que es una Herramienta de Generación de Código que permite extraer el Esquema de la Base de Datos y luego generar las Entidades en C# y los hbm.xml para el NHibernate. Por desgracia no está la posibidad de extraer el esquema de la Postgres automaticamente y se debe realizar a mano, obviamente, el ObjectMapper te permite hacerlo, pero hay mayor probabilidad de errores -nos ha pasado-.
Otra tool muy útil ,para checkear las Entidades y los Resultados de las consultas en HQL, es el NQL -NHibernate Query Analizer - Con ella podremos saber si nuestras entidades y las relaciones definidas en los hbm.xml estan bien.
El NHibernate se conecta a la Postgres con un .NET Data Provider, Npsql .
Se pueden encontrar muchas información en NHibernate Documentation
NHibernate es una poderosa e útil librería para .NET de persistencia de objetos para Bases de Datos Relacionales (DB2, Oracle, SQL Server, PostgresSQL, MySQL entre otros).
Mi experiencia con NHibernate fue en un proyecto para la Catedra "Desarrollo de Aplicaciones Cliente Servidor" de 4to año de la Carrera de Ing. en Sistemas de la Universidad Tecnológica Nacional, Facultad Regional Resistencia. El Sistema consistía en una aplicacion Cliente/Servidor que contaba con un cliente .NET, y un servidor PostgresSQL 7.4 bajo un SuSE Linux 9.1.
Para realizar el trabajo y partiendo de 0% de conocimientos en Persistencia de Objetos nos valimos de herramientas que no ayudaron a trabajar con el NHibernate.
Para la generación de Entidades utilizamos el ObjectMapper que es una Herramienta de Generación de Código que permite extraer el Esquema de la Base de Datos y luego generar las Entidades en C# y los hbm.xml para el NHibernate. Por desgracia no está la posibidad de extraer el esquema de la Postgres automaticamente y se debe realizar a mano, obviamente, el ObjectMapper te permite hacerlo, pero hay mayor probabilidad de errores -nos ha pasado-.
Otra tool muy útil ,para checkear las Entidades y los Resultados de las consultas en HQL, es el NQL -NHibernate Query Analizer - Con ella podremos saber si nuestras entidades y las relaciones definidas en los hbm.xml estan bien.
El NHibernate se conecta a la Postgres con un .NET Data Provider, Npsql .
Se pueden encontrar muchas información en NHibernate Documentation