我正在使用S#arp架构(使用NHibernate)。我有一些实体映射到一个数据库中的表,而其他实体映射到不同的数据库。披露:数据库已经存在,所以我不能先做模型。
如何配置此功能?
编辑:Fluent NHibernate中的SchemaIs方法是否是将实体映射到不同数据库中的表的推荐方法?我相信这也可以通过NHib的xmp映射文件实现。
答案 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的名称)来对应每个适当的操作方法。