我们有WebServer(基于Orchard CMS)和两个SQL Server数据库:master(读写操作)和slave(只读操作)。数据库通过复制进行同步。 WebServer使用NHibernate作为ORM。
我们希望通过以下架构分离这两个数据库之间的负载。在请求处理期间,我们应该:
因此,我们的想法是在第一个更改语句(UPDATE,DELETE,INSERT)之前切换到master数据库。重要提示,现有基础架构使用.Net TransactionScope 类来组织事务。
那么如何用NHibernate来实现呢?
答案 0 :(得分:2)
一些起点:
session.Disconnect();
session.Reconnect(connection)
切换连接。