我在下面的代码中有对存储过程的不同调用。
我的问题是我希望它在事务中,因此如果其中一个数据库方法失败,那么它将自动回滚待处理的更改。
我已经阅读了 Stackoverflow/Microsoft 页面上的一些文章,其中指出 SubmitChanges 将为我将这些包装在事务中。
问题是 spClearTablesForReplication 方法清除表,后来代码故意失败(用于测试),然后我所有的表都是空的(不回滚)
XalSqlDataContext db = new XalSqlDataContext();
db.spClearTablesForReplication();
db.spUpdateStockItemGroup(ConvertToXElement(typeof(List<StockItemGroup>), stockItemGroups));
db.spUpdateStockItemSubGroup(ConvertToXElement(typeof(List<StockItemSubGroup>), stockItemSubGroups));
db.SubmitChanges();
任何线索/解决方案。