var dbFactory = new OrmLiteConnectionFactory(
"Data Source=ds_server_a;Initial Catalog=catalog_a;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False",
SqlServerDialect.Provider);
var otherDbFactory = new OrmLiteConnectionFactory(
"Data Source=ds_server_b;Initial Catalog=catalog_b;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False",
SqlServerDialect.Provider);
try
{
using (IDbConnection db = dbFactory.OpenDbConnection())
{
using (IDbConnection db2 = otherDbFactory.OpenDbConnection())
{
using (IDbTransaction tran = db.OpenTransaction())
{
db.Insert(new BaoLi2136 { Id = 2140, content = "Employee 1" });
db2.Insert(new Bl2136
{
id = 2140,
phone = "123123123",
});
tran.Commit();
}
}
}
}
catch (Exception ee)
{
Console.WriteLine(ee.Message);
}
这里有两个库ds_server_a/catalog_a和ds_server_b/catalog_b,如何可以使db和db2使用同一个transaction呢?
ps:我这里使用了servicestack.ormlite的库。另外,不能使用TransactionScope。
请赐教!