gpt4 book ai didi

c# - Entity Framework 、TransactionScope 和 SaveChanges

转载 作者:太空狗 更新时间:2023-10-30 00:30:30 27 4
gpt4 key购买 nike

我正在使用 EntityFramework 开发一个 c# 项目,最后一位开发人员写道:

using (System.Transactions.TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted }))
{
try
{
//... do somehting
context.SaveChanges();

//... do some other work
context.SaveChanges();

scope.Complete();
}
catch (Exception ex)
{
context.RollbackChanges();
scope.Complete();
}
}

我不明白他为什么要使用 TransactionScope。我试图在 2 个 SaveChanges 之间抛出异常,但它没有回滚第一个调用修改。

为什么要使用 TransactionScope

谢谢

最佳答案

这应该为您解释 - https://blogs.msdn.microsoft.com/alexj/2009/01/11/savechangesfalse/

编辑:根据 szer 的要求。

他们从链接中获取的关键信息是:

“如果您调用 SaveChanges() 或 SaveChanges(true),EF 会简单地假定如果它的工作完成正常,那么一切都正常,因此它将丢弃它一直在跟踪的更改,并等待新的更改。”

关于c# - Entity Framework 、TransactionScope 和 SaveChanges,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35775125/

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