我的代码如下所示:
public void InsertSampleData(DataTable tempTable)
{
session.Transaction.Commit();
var connection = session.GetSessionImplementation().Connection;
using (var sqlConnection = (SqlConnection)connection)
{
using (var cmd = sqlConnection.CreateCommand())
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "dbo.insertData";
cmd.Parameters.Add("@sItems", SqlDbType.Structured);
var sqlParam = cmd.Parameters["@Items"];
sqlParam.Direction = ParameterDirection.Input;
sqlParam.TypeName = "[dbo].[DataItemType]";
sqlParam.Value = tempTable;
cmd.ExecuteNonQuery();
}
}
}
代码工作正常,但如果我不提交事务,它会引发异常,如图所示
System.InvalidOperationException:当分配给命令的连接处于挂起的本地事务中时,ExecuteNonQuery 要求命令具有事务。该命令的 Transaction 属性尚未初始化。
但我不希望在完成整个操作之前提交事务。我怎样才能做到这一点?