Hola a todos,
Utilicé la aplicación MOMA (Mono Migration Analyzer) y los ensamblados Castle.Core.dll y NHibernate.dll tienen varias NotImplementedException, por lo tanto no creo que funcione en Mono.

Saludos.

On 11/02/11 00:46, Dario Quintana wrote:
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] <mailto:[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]
    <mailto:[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

--
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