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
我正在尝试使用 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