2009-11-10 50 views
1

我们在我们的Web应用程序中使用两个数据库。一个位于美国,另一个位于加拿大。你应该只看到基于你的国家的数据。现在我认为在创建SessionFactory对象时会出现问题,因为这些实体已经为美国创建。现在,当NHibernate的尝试创建工厂的CAN数据库,用相同的实体,然后我得到了以下错误:具有相同实体的不同数据库服务器的nhibernate会话

Could not find connection string setting (set connection.connection_string or connection.connection_string_name property)

我怎样才能解决这个问题?

更新: 这里是堆栈跟踪:

在NHibernate.Connection.ConnectionProvider.Configure(IDictionary的2 settings) at NHibernate.Connection.ConnectionProviderFactory.NewConnectionProvider(IDictionary 2设置) 在NHibernate.Cfg.SettingsFactory.BuildSettings(IDictionary`2属性) 在NHibernate.Cfg.Configuration.BuildSettings() at NHibernate.Cfg.Configuration.BuildSessionFactory() at FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory()in d:\ Builds \ FluentNH \ src \ FluentNHibernate \ Cfg \ FluentConfiguration.cs:line 93

回答

0

只是一个想法在这里,但考虑到你的DAL被连接到两个不同的数据源上两套不同的基础设施,你不应该旋转起来了CAN NHibernate的会议的一个实例,并为美国NHibernate的会议的一个实例。 ..然后在查询后合并结果?使用一个会话来查询两个绝望的数据源听起来并不像正确的方法......即使它在物理上是可能的。在这里我应该考虑分离关注点。

介绍 - >服务层| - > projectName.dataAccess.usa.EntityRepository | - > projectName.dataAccess.can.EntityRepository

相关问题