1
我们有WebServer(基于Orchard CMS)和两个SQL Server数据库:master(读写操作)和slave(只读操作)。数据库通过复制进行同步。 WebServer使用NHibernate作为ORM。实时切换NHibernate连接
我们希望通过以下模式来分离这两个数据库之间的负载。在请求处理我们应该有:
- USE从属
- SELECT FROM T1
- SELECT FROM T2
- USE主
- BEGIN TRANSACTION
- UPDATE T1
- UPDATE T2
- COMMIT TRANSACTION
所以我们的想法是在第一次更改语句(UPDATE,DELETE,INSERT)之前切换到master数据库。重要提示:现有基础架构使用.Net TransactionScope类来组织事务。
那么如何用NHibernate实现呢?