我们有一个场景可以在单个事务中从两个上下文中保存两个实体.
第1步 - SetTransaction(firstContext,true);
第2步 - 使用firstContext保存第一个实体.
第3步 - SetTransaction(secondContext,false);
第4步 - 使用secondContext保存第二个实体
第5步 - 最终提交事务.
void function SetTransaction(context, startNewTransaction)
{
var currentContext = firstContext;
if (startNewTransaction)
{
var connection = currentContext.GetConnection();
connection.Open();
this.dbTransaction = connection.BeginTransaction();
}
if (this.dbTransaction != null)
{
currentContext.UseTransaction(dbTransaction);
}
}
Run Code Online (Sandbox Code Playgroud)
执行第3步时,currentContext.UseTransaction(dbTransaction); line抛出异常为" 传入的事务与当前连接无关.只能使用与当前连接关联的事务 "
请建议如何解决.
Venkat.
有 100 个外部域指向我现有的应用程序。我们计划迁移到 Azure 应用服务。在这种情况下,我们必须请求所有域用户指向我们的新应用服务。它涉及大量协调并需要时间。
将来(可能在 2 年后),我们计划将解决方案部署到另一个应用程序服务或 azure VM,然后我们必须重复请求外部域所有者指向新部署环境的相同过程。
目前我们正在考虑以下两种解决方案。你能不能就这些提出建议。
解决方案1:
解决方案2:
如果您有其他更好的解决方案,也请提出建议。
问候, 文卡特