CSharp - 在 SQL Server 中,使用 SessionScope TransactionScope ActiveRecord C# 和触发器

  显示原文与译文双语对照的内容

由于数据库中的表具有触发器,所以在事务和会话范围内的方法创建中遇到问题。 任何建议?

这就是我得到的错误:

试图处理事务时发生错误
描述:在当前web请求执行过程中发生未处理的异常。 请检查堆栈跟踪有关错误和其原始代码中的位置的详细信息。

异常详细信息:System.Exception: 尝试处理事务时发生错误

Obs 。

如果我删除触发器,则没有错误。

代码:


using (var session = new SessionScope())
{
 try
 {
 using (Transaction = new TransactionScope(TransactionMode.New, OnDispose.Commit))
 {
 class.Create();
 }
 Transaction.VoteCommit();
 }
 catch (Exception ex)
 {
 Transaction.VoteRollBack();
 throw new Exception(ex.Message);
 }
}

时间: 原作者:

我认为问题是using语句的位置:


using (var session = new SessionScope())
{
 using (Transaction = new TransactionScope(TransactionMode.New, OnDispose.Commit))
 {
 try
 {
 class.Create();
 Transaction.VoteCommit();
 }
 catch (Exception ex)
 {
 Transaction.VoteRollBack();
 throw new Exception(ex.Message);
 }
 }
}

在调用Commit或者Rollback之前处理事务。

...