конвертирование в сессионный менеджер Fluent NHibernate - PullRequest
1 голос
/ 20 мая 2010

Я изменяю свое приложение, чтобы использовать Fluent NHibernate. Я создал файлы сопоставления Fluent и перешел к настройке диспетчера сеансов. В настоящее время я использую следующий код -

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

Вместе с моим 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>

Кто-нибудь знает, как я мог перенести это на свободный? У меня проблема с частью базы данных конфигурации.

Спасибо за любые мысли.

Ответы [ 2 ]

3 голосов
/ 20 мая 2010

Для поддержки informix вам потребуется загрузить последний свободный бинарный двоичный файл nhibernate (у меня работает # 680):

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();
}
0 голосов
/ 01 ноября 2010

Джон - Вот что я в итоге использовал -

return Fluently.Configure()
                .Database(
                    IfxOdbcConfiguration
                        .Informix1000
                        .ConnectionString("Provider=Ifxoledbc.2;Password=password;Persist Security Info=True;User ID=username;Data Source=database@server")
                        .Dialect<InformixDialect1000>()
                        .ProxyFactoryFactory<ProxyFactoryFactory>()
                        .Driver<OleDbDriver>()
                        .ShowSql()
                    )
                .Mappings(m => m.AutoMappings.Add(persistenceModel))
                .BuildSessionFactory();

Я не уверен, что именно вы ищете, поэтому дайте мне знать, если это работает. спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...