我正在嘗試使用S#arp Lite。我在這裏跟着指示 - https://github.com/codai/Sharp-Lite/blob/master/README.txtS#arp Lite - NHibernate初始化程序未找到命名連接字符串
當我第一次嘗試運行在NUnit的的MappingIntegrationTests
,我收到以下錯誤:
MySolution.Tests.NHibernateProvider.MappingIntegrationTests.CanConfirmDatabaseMatchesMappings:
SetUp : NHibernate.HibernateException : Could not find named connection string MySolutionConnectionString
MySolution.Tests.NHibernateProvider.MappingIntegrationTests.CanConfirmDatabaseMatchesMappings:
SetUp : NHibernate.HibernateException : Could not find named connection string MySolutionConnectionString
NUnit的指示上面的錯誤是從的第二行未來SetUp
方法MappingIntegrationTests
。
[SetUp]
public virtual void SetUp() {
_configuration = NHibernateInitializer.Initialize();
_sessionFactory = _configuration.BuildSessionFactory();
}
我NHibernateInitializer
類的Initialize
方法,
public static Configuration Initialize() {
Configuration configuration = new Configuration();
configuration.Proxy(p => p.ProxyFactoryFactory<DefaultProxyFactoryFactory>())
.DataBaseIntegration(db => {
db.ConnectionStringName = "MySolutionConnectionString";
db.Dialect<MsSql2008Dialect>();
})
.AddAssembly(typeof(ActionConfirmation<>).Assembly)
.CurrentSessionContext<LazySessionContext>();
ConventionModelMapper mapper = new ConventionModelMapper();
mapper.WithConventions(configuration);
return configuration;
}
而且從MySolution.Tests
項目App.Config
文件,
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="MySolutionConnectionString" connectionString="data source=.\SQLEXPRESS;Initial Catalog=MySolutionDB-DEV;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
</ connectionStrings>
</configuration>
我不明白爲什麼NUnit的測試運行與失敗消息Could not find named connection string MySolutionConnectionString
。據對貧嘴配置詹姆斯科瓦奇的博客文章,這似乎是這應該沒有問題 -
「設置db.ConnectionStringName導致NHibernate的讀取來自[應用|網絡]的配置部分的連接字符串。配置「。