S#arp Architecture / NHibernate有多个数据库

时间:2009-08-26 20:50:55

标签: nhibernate s#arp-architecture

我正在使用S#arp架构(使用NHibernate)。我有一些实体映射到一个数据库中的表,而其他实体映射到不同的数据库。披露:数据库已经存在,所以我不能先做模型。

如何配置此功能?

编辑:Fluent NHibernate中的SchemaIs方法是否是将实体映射到不同数据库中的表的推荐方法?我相信这也可以通过NHib的xmp映射文件实现。

2 个答案:

答案 0 :(得分:3)

您应该使用NHibernateSession.AddConfiguration来代替其他数据库。对NHibernateSession.AditConfiguration的调用立即在NHibernateSession.Init()下进行。必须为第二次初始化定义显式会话工厂密钥。

这里详细解释整个过程。

https://github.com/sharparchitecture/sharp-architecture/wiki?Page=FAQ

答案 1 :(得分:2)

我这样做的方法是使用多个nhibernate配置文件初始化global.asax.cs中InitializeNHibernateSession中的多个NHibernateSessions。然后,我在控制器中使用[Transaction(“nhibernate.dbname”)](dbname是分配给WebSessionStorages的名称)来对应每个适当的操作方法。