来自appSettings的流畅的NHibernate

时间:2009-02-21 22:09:54

标签: fluent-nhibernate

我想从app.config和appSettingKey配置我的NHibernate Fluent。

是否有人可以解释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>

// Mats,斯德哥尔摩,瑞典

3 个答案:

答案 0 :(得分: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();
}

希望它有所帮助。

答案 1 :(得分:1)

答案 2 :(得分:0)

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

这是我构建会话工厂的方式。