我正在开发一个使用Orchard CMS框架来利用模块化,多租户功能的Web应用程序。我有多个模块,所有这些都可以正常使用我在settings.txt中提到的当前SQL服务器数据库(比如DB1) file.Now我有一个需求弹出,其中一个模块需要与另一个数据库(比如说DB2)交谈,而不是在settings.txt文件中提到的数据库。如果这个模块单独与新数据库(DB2)通信保持所有其他模块与DB1联系?如何单独使用此模块中的FluentNHibernate来使用新数据库(DB2)?
如果你只需要对第二个数据库执行一些SQL,那么你只需要压缩orchard的事务就像这样:
const string connectionString = "...";
var connection = new SqlConnection(connectionString);
using (new TransactionScope(TransactionScopeOption.Suppress)) {
connection.Open();
...
connection.Close();
}