我正在尝试向我的 Sql Server 2008 数据库提交一个事务 - 首先是 2 个插入,然后是几个更新,但是,一旦它尝试执行第一个更新,我就会收到以下错误:
当分配给命令的连接处于挂起的本地事务中时,ExecuteNonQuery 要求该命令具有事务。该命令的 Transaction 属性尚未初始化。
这是代码,为简洁起见稍作编辑:
using (_cn)
{
_cn.Open();
IDbTransaction transaction = _cn.BeginTransaction();
topicId = (int)_cn.Query<decimal>(qAddTopic, new { pForumId = topic.ForumId }, transaction).Single();
postId = (int)_cn.Query<decimal>(qAddPost, new { pTopicId = topicId }, transaction).Single();
_cn.Execute(qUpdateForums, new { pLastPostId = postId });
_cn.Execute((qUpdateSiteTotals));
transaction.Commit();
}
前 2 个插入工作正常,但一旦它尝试执行其中一个更新,就没有乐趣了。