如果我创建SqlConnection
并且不从C#代码为它创建SqlTransaction
然后使用SqlCommand
来调用存储过程,那么代码的事务行为是什么在以下两个场景中
BEGIN TRANSACTION
语句BEGIN TRANSACTION
,以COMMIT TRANSACTION
结尾。假设没有发生会导致事务回滚的错误
据我所知,存储过程将在事务外部调用,并导致以下行为:
如果我对A和B场景中的理解是正确的,请发表评论。
答案 0 :(得分:0)
您对A和B场景的理解是正确的。
当涉及到许多UI端数据交互并且人们更愿意在UI端处理它时,人们更喜欢ADO.NET事务。否则,您必须将所有数据传递给SQL端并让它处理它,这有时会成为开销。