我正在尝试使用StructureMap,NHibernate和多个数据库作为我的设计来源,将多个类型的实例添加到结构映射中。
以下是我在Registry中添加它们的方式:
foreach (ConnectionStringSettings location in ConfigurationManager.ConnectionStrings)
{
For<INHibernateSessionFactory>()
.Add(x => new NHibernateSessionFactory(location.Name, GetSessionFactory(location.ConnectionString)));
}
然后在我的AppSessionFactory中:
public AppSessionFactory(IEnumerable<NHibernateSessionFactory> factories)
{
_factories = new List<INHibernateSessionFactory>(factories);
}
这两个都不起作用:
_factories = ObjectFactory.GetAllInstances<INHibernateSessionFactory>().ToList();
这两个调用都返回相同的对象、位置和SessionFactory。