Nhiberformix

4 views
Skip to first unread message

kefren gtz

unread,
Jun 7, 2016, 11:49:44 AM6/7/16
to NHibernate-Hispano
Buen día Grupo anteriormente ya habia posteado on ustedes, tengo valgunas preguntas por resolver y quisiera saber si me pudiesen orientar
, de antemano muchas Gracias.


No he podido hacer una configuración exitosa para poder comunicarme con el Informix ya sea 9.40 o el 11.5
mi carchivo de configuracion es el siguiente

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="dialect">NHibernate.Dialect.InformixDialect0940</property>
    <property name="connection.driver_class">NHibernate.Driver.IfxDriver</property>
    <property name="connection.connection_string">Provider=Ifxoledbc.2;User ID=xxxxx;Data Source=firstsample@speua1801;Extended Properties=;Persist Security Info=True;Password=xxxxx;Connect Timeout=10;</property>
    <property name="show_sql">true</property>
    <property name="proxyfactory.factory_class">
      NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle
    </property>
  </session-factory>
</hibernate-configuration>

cabe mencionaar que en el dialect tambien lo dejo asi : NHibernate.Dialect.InformixDialect


Esto es un fragmento de codigo tomado de la Pagina  de seby's que tome para empezar a ver como funciona el Nhibernate y no he podidio realizar los test
namespace NHibernateLibrary
{
    public class NHibernateManager : IDisposable
    {
        private static  ISessionFactory _sessionFactory;
        public ISession Session;

        public NHibernateManager()
        {
            CreateSession();
            OpenSession();
        }

        private void CreateSession()
        {
            if (_sessionFactory == null)
            {
                
                try
                {
                    var configuration = new Configuration().Configure("Config/hibernate.cfg.xml");
                    configuration.AddAssembly("NHibernateLibrary");
                    _sessionFactory = configuration.BuildSessionFactory();
                }
                catch (Exception e)
                {

                }
                

            }
            Session = OpenSession();
        }

        public static ISession OpenSession()
        {
            return _sessionFactory.OpenSession();
        }

        public static void CloseSession()
        {
            _sessionFactory.Dispose();
        }

        #region Miembros de IDisposable
        public void Dispose()
        {
            CloseSession();
        }
        #endregion
    }
}

namespace NHibernateLibrary
{
    public class UsuarioRepository : IUsuarioRepository
    {
        #region Miembros de IUsuarioRepository
        public void Add(Usuario usuario)
        {
            using (NHibernateManager manager = new NHibernateManager())
            {
                using (ITransaction transaction = manager.Session.BeginTransaction())
                {
                    manager.Session.Save(usuario);
                    transaction.Commit();
                }
            }

        }

        public void Update(Usuario usuario)
        {
            using (NHibernateManager manager = new NHibernateManager())
            {
                using (ITransaction transaction = manager.Session.BeginTransaction())
                {
                    manager.Session.Update(usuario);
                    transaction.Commit();
                }
            }
        }
        public void Remove(Usuario usuario)
        {
            using (NHibernateManager manager = new NHibernateManager())
            {
                using (ITransaction transaction = manager.Session.BeginTransaction())
                {
                    manager.Session.Delete(usuario);
                    transaction.Commit();
                }
            }
        }
        public Usuario GetById(int id)
        {
            using (NHibernateManager manager = new NHibernateManager())
            {
                return manager.Session.Get<Usuario>(id);
            }
        }
        public Usuario GetByNombre(string nombre)
        {
            using (NHibernateManager manager = new NHibernateManager())
            {
                return manager.Session.CreateCriteria(typeof(Usuario)).Add(Restrictions.Eq("Nombre",nombre)).UniqueResult<Usuario>();
            }
        }
        #endregion

    }
}




Reply all
Reply to author
Forward
0 new messages