如何使用NHibernate在单个事务范围内执行sql的不同数据库的两个不同会话

时间:2017-07-19 10:39:32

标签: sql entity-framework nhibernate fluent-nhibernate

我的要求是 - 我使用两个不同的SQL数据库进行插入,更新,删除操作,我想在一个事务下进行这两个不同的会话,因为任何异常都会发生,然后回滚两个数据库表数据。 那么如何使用NHibernate来解决这个问题。 Nhibernate可以提供这种类型的设施。 还有任何想法使用hibernate.cfg配置文件读取两个连接字符串。

  

例如:

     

会话s1; - db1

     

会话s2; - db2

     

s1.Save(OBJ);

     

s2.Update(OBJ);

所以在一次交易中采取上述两项操作。

1 个答案:

答案 0 :(得分:0)

您可以提供自己的connection。因此,每个会话都可以与不同的数据库建立连接。这些连接是否会在环境TransactionScope中加入,您需要进行试验。如果启用了足够的日志记录,您将能够通过日志输出看到此过程发生。