Estoy intentando realizar una transacción en mi base de datos de Sql Server 2008: en primer lugar, dos insertos seguidos por un par de actualizaciones, sin embargo, tan pronto como intenta ejecutar la primera actualización, obtengo el siguiente error:Problema de transacción de Dapper.net
ExecuteNonQuery requires the command to have a transaction when the connection assigned to the command is in a pending local transaction. The Transaction property of the command has not been initialized.
Aquí está el código, editado ligeramente por razones de brevedad:
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();
}
las 2 primeras inserciones funcionan bien, pero tan pronto como se intenta llevar a cabo una de las actualizaciones, no hay alegría.
'Connection.Query (" sqlQuery ", param: new { id = ID}, transacción: transacción) ' –
vaheeds