views:

47

answers:

3

Hello, I am changing my application to use Fluent NHibernate. I have created my Fluent mapping files and have now moved onto configuring my Session Manager. Currently, I use the following code -

private ISessionFactory GetSessionFactory()
{
     return (new Configuration()).Configure().BuildSessionFactory();
}

Along with my hibernate.cfg.xml -

<?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.InformixDialect1000</property>
    <property name="connection.driver_class">NHibernate.Driver.OleDbDriver</property>
    <property name="connection.connection_string">Provider=Ifxoledbc.2;Password=mypass;Persist Security Info=True;User ID=myid;Data Source=mysource</property>

    <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
    <property name="show_sql">false</property>
    <mapping assembly="DataTransfer" />
  </session-factory>
</hibernate-configuration>

Does anyone know how I could transfer this to Fluent? The problem I have having is with the Database portion of the configuration.

Thanks for any thoughts.

+2  A: 

For informix support you will need to download the latest fluent nhibernate binary (#680 worked for me):

private ISessionFactory CreateSessionFactory()
{
    return Fluently.Configure()
        .Database(
            IfxOdbcConfiguration
                .Informix1000
                .ConnectionString("Provider=Ifxoledbc.2;Password=mypass;Persist Security Info=True;User ID=myid;Data Source=mysource")
                .Driver<OleDbDriver>()
                .Dialect<InformixDialect1000>()
                .ProxyFactoryFactory<ProxyFactoryFactory>()
        )
        .Mappings(
            m => m
                .FluentMappings
                .AddFromAssemblyOf<SomePersistentType>()
        )
        .BuildSessionFactory();
}
Darin Dimitrov
Where does the ProxyFactoryFactory type come from in the above example?
czuroski
From the `NHibernate.ByteCode.Castle` assembly.
Darin Dimitrov
I had to add in .Driver<OleDbDriver>, but other than that it seems to be working. Thanks
czuroski
@czuroski, good point, I've edited my post to take it into account. Thanks.
Darin Dimitrov
A: 

Can you post the full sample of informix - fluent nhibernate? Thanks

jon