Я решил попробовать использовать TransactionScope
, а не класс SqlTransaction
.Правильное ли использование TransactionSope?
Ниже мой код, завернутый в TransactionScope
:
using (var transaction = new System.Transactions.TransactionScope())
{
using (MySqlCommand cmd = new MySqlCommand(sql, connection))
{
if (listParameters != null && listParameters.Count > 0)
{
foreach (string currentKey in listParameters.Keys)
{
cmd.Parameters.Add(new MySqlParameter(currentKey, GetDictionaryValue(listParameters, currentKey)));
}
}
using (MySqlDataReader reader = cmd.ExecuteReader())
{
dtResults.Load(reader);
}
}
transaction.Complete();
}
код работает, но я не связывание MySqlCommand
cmd
объекта сделки в любой момент. Это проблема?
Если вы не используете темы, я не вижу никаких проблем :) –
@ Jan'splite'Kondelík Мое самое большое беспокойство в том, что, когда я с помощью SqlTransaction объект, я специально передавал этот объект в параметры объекта MySqlCommand. Но с этим новым объектом области не существует ничего. Выполняется ли транзакция так, как это предполагается, так? –
Как писал GSerg в ответ, я не заметил, что вы не создаете соединение (+1 к его ответу;)) –