gpt4 book ai didi

c# - 哪个 IsolationLevel 最适合在 TransactionScope 中成功处理我在 C# 中的数据?

转载 作者:行者123 更新时间:2023-11-29 13:55:58 24 4
gpt4 key购买 nike

我有一些数据要插入到 2 个数据库(1 个 MSSQL Server,2 个 POSTGRY)中。如果在两个数据库中都插入了记录,那么都应该提交,否则都应该回滚。

任何人都可以帮助我知道我必须在我的 C# 代码中设置哪个 IsolationLevel 吗?目前我正在使用以下代码。

对于 SQL 数据库,

var sqlTransactionScope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.Serializable })

对于 PostGry 数据库,

var npgsqlTransactionScope = npgsqlConnection.BeginTransaction()

但这段代码有时会产生以下问题:

- process still waiting for ShareLock on transaction
- canceling statement due to statement timeout

最佳答案

您可以使用隔离级别快照避免/减少数据库/表的锁定。参见 link在这里了解详情。应为此隔离级别配置数据库。

关于c# - 哪个 IsolationLevel 最适合在 TransactionScope 中成功处理我在 C# 中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31854089/

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