如何从hibernate.cfg.xml文件中获取连接字符串值?

时间:2010-03-12 12:24:17

标签: c# asp.net nhibernate fluent-nhibernate

我正在使用Fluent NHibernate,需要从 hibernate.cfg.xml 文件的 connection.connection_string 属性中获取我的连接字符串,以创建我的会话工厂:< / p>

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();
   }
}

我想替换来自 hibernate的连接字符串的MyConnStr(在我的web.config文件中)“ c =&gt; c.FromConnectionStringWithKey(”MyConnStr“)”。 cfg.xml 文件。

我尝试过使用NHibernate.Cfg.Environment.ConnectionString,但它没有用。

我怎么能得到这个?

谢谢。

2 个答案:

答案 0 :(得分:11)

试试这个

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

答案 1 :(得分:4)

针对您更新的问题进行了更新

public static string ConnectionString
{
  get
  {
    NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration();
    return cfg.GetProperty(NHibernate.Cfg.Environment.ConnectionString);
  }
}