У меня есть некоторые данные, которые я хочу вставить в 2 базы данных (1 сервер MSSQL, 2 POSTGRY). Если запись вставляется в обе базы данных, то оба они должны быть зафиксированы в противном случае, оба должны быть откат.Какой IsolationLevel лучше всего подходит для TransactionScope для успешной обработки моих данных В C#?
Может ли кто-нибудь помочь мне в том, что IsolationLevel я должен установить в своем коде на C#? В настоящее время я использую следующий код.
для базы данных 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