gpt4 book ai didi

mysql - TransactionScope 和 BeginTransaction

转载 作者:行者123 更新时间:2023-11-29 18:54:07 28 4
gpt4 key购买 nike

在EF6、MVC、MySQL场景下,使用EF TransactionScopeDBContext.BeginTransaction有什么区别? TransactionScope 中没有显式回滚。

应该是

using transactionscope
{
using dbContext
{
.........
.........
dbContext.SaveChanges();
.............
.......
dbContext.SaveChanges();
}
transactionscope.Complete();
// there is no .Rollback method
}

或者

using dbContext
{
using dbtx = dbContext.Database.BeginTransaction
{
.........
.........
dbContext.SaveChanges();
.............
.......
dbContext.SaveChanges();
dbtx.Commit()
// and dbtx.Rollback() when exception occurs
}

}

有什么区别?

最佳答案

我不会注意其中的差异。我不会担心隔离级别。以下工作:要么全部回滚(不需要显式回滚),要么全部提交:

using (TransactionScope scope = new TransactionScope())
{
...
db.SaveChanges();

...
db.SaveChanges();
scope.Complete();
}

关于mysql - TransactionScope 和 BeginTransaction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44234861/

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