Fluent NHibernate from appSettings


3

Я хочу настроить свой NHibernate Fluent из app.config и appSettingKey.

Есть ли кто-нибудь, кто может объяснить, как должен выглядеть файл app.config?

MsSqlConfiguration.MsSql2005 
    .ConnectionString(c => c 
    .FromAppSetting("appSettingKey")); 

И это мой connectionsString

Data Source=(local);Initial Catalog=ABC;Integrated Security=True 

Это не работает:

<appSettingKey>"Data Source=.;Initial Catalog=ABC;Integrated Security=True"</appSettingKey> 

// Маты, Стокгольм, Швеция

  0

Я думаю, что у Эрика есть ваш ответ. Вы хотели спросить, почему ваша строка подключения не работает? Возможно, вы захотите попробовать «Integrated security = SSPI» 22 фев. 092009-02-22 09:27:12

9

Если я вас правильно понял, ты хотите настроить Fluent NHibernate как в вашем примере и использовать строку подключения из App.config. Ниже приведен пример того, как я это выполнил.

App.config:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <appSettings> 
    <add key="FluentNHibernateConnection" 
     value="server=.;Initial Catalog=YourDB;Integrated Security=True" /> 
    </appSettings> 
</configuration> 

код для создания сеанса завода:

private static ISessionFactory CreateSessionFactory() 
{ 
    var fluentConfig = MsSqlConfiguration.MsSql2005 
     .ConnectionString.FromAppSetting("FluentNHibernateConnection"); 

    PersistenceModel persistenceModel = new PersistenceModel(); 
    persistenceModel.addMappingsFromAssembly(typeof(User).Assembly); 

    Configuration nhConfig = new Configuration() 
     .AddProperties(fluentConfig.ToProperties()); 

    persistenceModel.Configure(nhConfig); 

    return nhConfig.BuildSessionFactory(); 
} 

Надеется, что это помогает.

/Erik (парень "Stockholmare")


1

Есть Распознать Database Configuration в Fluent NHibernate wiki.


0
Fluently.Configure() 
       .Database(
        MsSqlConfiguration.MsSql2008.ConnectionString(
           c => c.FromConnectionStringWithKey(connectStringKey) 
          )//End ConnectionString 
         )//End Database 
       .Mappings(m =>m.FluentMappings.AddFromAssemblyOf<ADomainClassType>()) 
       .BuildSessionFactory(); 

Вот как я строю свою сессионную фабрику.