gpt4 book ai didi

c# - 调用存储过程时的 .NET 4.0 事务行为

转载 作者:太空宇宙 更新时间:2023-11-03 15:55:48 24 4
gpt4 key购买 nike

如果我创建一个 SqlConnection 而不是从 C# 代码为它创建一个 SqlTransaction 然后使用一个 SqlCommand 调用一个存储过程,代码在以下两种场景下的事务行为是什么

  1. 存储过程没有任何BEGIN TRANSACTION语句
  2. 存储过程在开始时有一个 BEGIN TRANSACTION,并以 COMMIT TRANSACTION 结束。

假设没有发生会导致事务回滚的错误

据我了解,存储过程将在事务外调用并导致以下行为:

  1. 存储过程中的每条语句将在其自己的事务中执行
  2. 在存储过程中打开的事务将是顶级事务,存储过程中的所有语句都将与该事务相关联。

如果我对场景A和B的理解正确,请评论。

最佳答案

你对A和B场景的理解是正确的。

当涉及大量 UI 端数据交互时,人们更喜欢 ADO.NET 事务,并且人们更喜欢在 UI 端处理它。否则,您必须将所有数据传递给 SQL 端并让它处理它,这有时会成为一种开销。

关于c# - 调用存储过程时的 .NET 4.0 事务行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23684284/

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