我有一个短小精悍的方法,我想对一个类存储。
using (var block = new TransactionBlock())
{
const string sql =
"select * from Messages where statusId not in ('5','6')";
var results = TransactionBlock.Connection.Query<OpenMessages>
(sql,TransactionBlock.Transaction).ToList();
block.Commit();
return results;
}
所以,OpenMessages是:
public class OpenMessages
{
public List<string> MessageId { get; set; }
}
返回以下错误:
用户代码未处理System.InvalidOperationException HResult = -2146233079 Message = ExecuteReader要求命令在分配给命令的连接处于挂起的本地事务中时具有事务。该命令的Transaction属性尚未初始化。
我还有其他几种方法,它们工作正常,而不是我需要返回列表的方法。
您将作为参数传递事务。命名为:
var results = TransactionBlock.Connection.Query<OpenMessages>
(sql,
transaction: TransactionBlock.Transaction).ToList();
此外,如果它确实是一个存储过程,您可能想要添加:
commandType: CommandType.StoredProcedure