gpt4 book ai didi

c# - 如何在NHibernate中同时提交两个数据库?

转载 作者:行者123 更新时间:2023-12-02 07:46:40 25 4
gpt4 key购买 nike

我需要保持两个数据库镜像,但我无法使用 SQL Server 镜像来做到这一点。该项目使用 NHibernate 2.2 作为 ORM。

有什么办法可以解决这个问题吗?例如:NHibernate 的任何插件/扩展可以同时保存到多个数据库。

最佳答案

StackOverflow 上有多个类似的问题。请参阅this , thisthis .

您必须创建两个 SessionFactoryISession 实例,每个数据库一个。此外,您应该使用 TransactionScope 并将针对多个数据库的数据库操作包装在其中。

以下代码是从“Ricardo Peres ”对上述问题之一的回答中复制的:

using (TransactionScope tx = new TransactionScope())
{
using (ISession session1 = ...)
using (ITransaction tx1 = session.BeginTransaction())
{
...do work with session
tx1.Commit();
}

using (ISession session2 = ...)
using (ITransaction tx2 = session.BeginTransaction())
{
...do work with session
tx2.Commit();
}

tx.Complete();
}

关于c# - 如何在NHibernate中同时提交两个数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41250771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com