【问题标题】:ServiceStack OrmLite and transactionsServiceStack OrmLite 和事务
【发布时间】:2015-05-29 12:11:46
【问题描述】:

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

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

这段代码有问题吗?

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

【问题讨论】:

标签: sql-server transactions ormlite-servicestack


【解决方案1】:

其他人将此答案放在评论中,然后将其删除...所以:

BeginTransaction 需要是 OpenTransaction

【讨论】:

  • 因为我在当前源代码中找不到OpenTransaction,也没有时间去尝试代码。你用的是哪个版本?
  • 对,你需要使用db.OpenTransaction()OrmLite's Home Page上的例子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多