2009-02-21 135 views
3

我想從app.config和appSettingKey配置我的NHibernate Fluent。從appSettings流利NHibernate

有沒有人可以解釋應該如何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

我認爲Erik有你的答案。你的意思是要問爲什麼你的連接字符串不工作?您可能想嘗試「集成安全性= SSPI」 – mookid8000 2009-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(); 
} 

希望它能幫助。

/埃裏克(老鄉 「Stockholmare」)

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

這就是我建立我的會話工廠。