我想从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,斯德哥尔摩,瑞典
答案 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();
这是我构建会话工厂的方式。