gpt4 book ai didi

c# - TransactionScope 提交更新而不调用 .Complete() 但不插入

转载 作者:行者123 更新时间:2023-11-30 15:36:05 25 4
gpt4 key购买 nike

我有一个围绕某些函数的 transacationScope。这些函数各自执行插入或更新的数据库调用。

 using (var ts = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions()
{
IsolationLevel =
IsolationLevel.Serializable,
Timeout = new TimeSpan(0, 0, 15, 0)
}))
{
DoStuff(arg!, arg2);
ts.Complete(); //This had to be added to commit the changes for inserts (updates worked), otherwise data was being rolled back
}

使用 ts.Complete(); 插入和更新被提交到数据库,而不仅仅是更新。有人可以解释一下原因吗?

最佳答案

这表明您的更新不是交易的一部分。这可能意味着:

  • 更新是在您启动事务范围之前已经存在的连接上完成的
  • 有明确的嵌套新交易或无交易
  • unicorn

确认:没有 Complete,事务中的任何内容都不会提交

关于c# - TransactionScope 提交更新而不调用 .Complete() 但不插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14143196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com