【发布时间】:2014-08-14 11:59:39
【问题描述】:
我们有一个场景可以在单个事务中保存两个上下文中的两个实体。
第 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);
}
}
在执行步骤 3 时,currentContext.UseTransaction(dbTransaction);行抛出异常为“传入的事务与当前连接没有关联。只能使用与当前连接关联的事务”
请建议如何解决。
文卡特。
【问题讨论】:
标签: c# entity-framework-6