Hola Bruno, Si probás exactamente esto en .Net y Windows, y te funciona, puede que el error provenga del Mono, y es allí donde debes pedir ayuda.
Estás seguro que estás usando ese código ? Estoy viendo en tu StackTrace esto: NHibernate.Tool.hbm2ddl, y también en tu namespace, que sirve para exportar el DDL, pero no lo estoy viendo en tu código ni configuración. Saludos 2011/2/10 Bruno Reato <[email protected]> > 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 -- Dario Quintana -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
