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實現呢?