Hola a todos:
Estoy probando la versión 3 de nhibernate con Postgresql y estoy teniendo algunos problemas para hacerlo funcionar. Mi configuración es la siguiente:

S.O.: Ubuntu 10.10
Versión de Mono: 2.6.7
NHibernate: 3.0
Postgresql: 9.0

Hice una pequeña aplicación de consola con 1 entidad llamada Product:

Product.cs

using System;

namespace PruebaNhibernate.domain
{
    [Serializable]
    public class Product
    {
        public Product ()
        {
        }

        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Category { get; set; }
        public virtual bool Discontinued { get; set; }
    }
}

Y el archivo de mapeo:

Product.hbm.xml

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                   assembly="PruebaNhibernate"
                   namespace="PruebaNhibernate.domain">

<class name="Product">
<id name="Id">
<generator class="sequence">
<param name="sequence">Gen_Product</param>
</generator>
</id>
<property name="Name" />
<property name="Category" />
<property name="Discontinued" />
</class>

</hibernate-mapping>

Luego tengo el archivo de configuración de nhibernate:

hibernate.cfg.xml

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="NHibernate.Test">
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> <property name="connection.driver_class">NHibernate.Driver.NpgsqlDriver</property> <property name="connection.connection_string">Server=localhost;Database=nhibernate;User ID=xxx;Password=xxx;</property>
<property name="dialect">NHibernate.Dialect.PostgreSQLDialect</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
</session-factory>
</hibernate-configuration>

Y el archivo de la aplicación consola:

Main.cs

using System;
using NHibernate.Cfg;
using PruebaNhibernate.domain;
using NHibernate;
using NHibernate.Tool.hbm2ddl;

namespace PruebaNhibernate
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            var cfg = new Configuration();
            try{
                cfg.Configure("hibernate.cfg.xml");
                cfg.AddXmlFile("./mappings/Product.hbm.xml");
                ISessionFactory sessionFactory = cfg.BuildSessionFactory();
                ISession session = sessionFactory.OpenSession();

                session.Close();
            } catch (Exception ex){
                Console.WriteLine(ex.StackTrace.ToString());
            }
        }
    }
}

Cuando ejecuto la aplicación me dá un error al ejecutar BuildSessionFactory con el siguiente mensaje:

Cannot cast from source type to destination type.

Y el StackTrace es:

at NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare () [0x00000] in <filename unknown>:0 at NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords (NHibernate.Dialect.Dialect dialect, IConnectionHelper connectionHelper) [0x00000] in <filename unknown>:0 at NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update (ISessionFactory sessionFactory) [0x00000] in <filename unknown>:0 at NHibernate.Impl.SessionFactoryImpl..ctor (NHibernate.Cfg.Configuration cfg, IMapping mapping, NHibernate.Cfg.Settings settings, NHibernate.Event.EventListeners listeners) [0x00000] in <filename unknown>:0 at NHibernate.Cfg.Configuration.BuildSessionFactory () [0x00000] in <filename unknown>:0 at PruebaNhibernate.MainClass.Main (System.String[] args) [0x0001e] in /home/bruno/Projects/PruebaNhibernate/Main.cs:18


Espero que me puedan ayudar.

Saludos.

Bruno.

--
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a