我有 C# 代码 (wcf) 连接到数据库并插入一个完整的“报告”,包括地址表、人员表等,所有这些都必须通过调用存储过程来完成。附带说明,某些存储过程可能会被多次调用(因为我们可能在报告中有多个人和多个地址等)
插入地址(通过调用 spInsertAddress) 插入人员(通过调用 spInsertPerson) 插入项目(调用另一个存储过程)引发错误(可能是字符太多,或者为日期/时间字段插入错误值)
如何撤消存储过程所做的所有更改,因为它们已经进行了?
在 MSDN 上找到这篇文章,解释如何通过 C# 添加事务并使用 try/catch 提交或回滚事务