ServiceStack OrmLite 和交易

ServiceStack OrmLite and transactions

我正在尝试使用 ServiceStack OrmLite 在事务中执行 sql。下面的代码适用于 Sqlite 但不适用于 SqlServer。使用 SqlServer 我收到以下错误:

ExecuteScalar 要求命令在分配给命令的连接处于挂起的本地事务中时具有事务。该命令的事务属性尚未初始化。

这段代码有问题吗?

using (var trans = Db.BeginTransaction())
{
    try
    {
        foreach (myObject in myObjects)
            Db.Insert<MyObject>(myObject);
        trans.Commit();
    }
    catch (Exception ex)
    {
        trans.Rollback();
        throw ex;
    }
}

其他人把这个答案放在评论中然后删除了...所以:

BeginTransaction 需要是 OpenTransaction