2010-03-12 65 views
4

我用流利的NHibernate和需要得到從我的連接字符串的hibernate.cfg.xml connection.connection_string財產文件創建我的會話工廠:如何從hibernate.cfg.xml文件中獲取連接字符串值?

private static ISessionFactory SessionFactory { 
    get { 
     return = Fluently.Configure() 
     .Database(MySQLConfiguration.Standard.ConnectionString(c => c.FromConnectionStringWithKey("MyConnStr"))) 
     .Mappings(m => m.FluentMappings.AddFromAssemblyOf<FooMap>()) 
     .ExposeConfiguration(c => c.Properties.Add("hbm2ddl.keywords", "none")) 
     .BuildSessionFactory(); 
    } 
} 

我想更換MyConnStr (即在我的web.config文件中)「c => c.FromConnectionStringWithKey(」MyConnStr「)」用於來自hibernate.cfg.xml文件的連接字符串。

我試過使用NHibernate.Cfg.Environment.ConnectionString,但它沒有工作。

我怎樣才能得到這個?

謝謝。

回答

10

試試這個

NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration().Configure(); 
string conString = cfg.Configuration.GetProperty(NHibernate.Cfg.Environment.ConnectionString); 
4

更新了更新的問題

​​
+0

謝謝,但我需要得到這個在我的SessionFactory吸氣。我想要NHibernate連接字符串來創建我的SessionFactory。我使用流利NHibernate。 – MCardinale

+0

@MCardinale - 工廠應該原生使用此連接字符串,您需要更改它或...? –

+0

我編輯了我的問題,添加了我的SessionFactory的代碼。我想使用來自NHibernate的連接字符串而不是Web.config或硬編碼的字符串,因爲此工廠位於類庫中以便在其他項目中重用。非常感謝你。 – MCardinale

相關問題