2
我想在使用ServiceStack OrmLite的事务内执行SQL。下面的代码适用于Sqlite,但不适用于SqlServer。使用SqlServer时,出现以下错误:ServiceStack OrmLite和事务
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;
}
}
因为我不能在当前的源代码中找到'OpenTransaction'并没有时间去尝试代码。你正在使用哪个版本? –
正确的你需要使用'db.OpenTransaction()',在[OrmLite的主页](https://github.com/ServiceStack/ServiceStack.OrmLite#transaction-support)上的例子。 – mythz