Я практикую TransactionScope, выдавая новое исключение, если транзакции будут откатываться или нет, scope1 не фиксируется, даже scope2 имеет опцию подавления.Я ожидал, что два блока sqlcommand будут зафиксированы.Что не так в моем коде?
using (TransactionScope scope1 = new TransactionScope(TransactionScopeOption.Required))
{
using (SqlConnection conn = new SqlConnection(AppGlobalVariables.CONNECTION_STRING))
{
//success sqlcommand...
}
using (SqlConnection conn = new SqlConnection(AppGlobalVariables.CONNECTION_STRING))
{
//success sqlcommand...
}
using (TransactionScope scope2 = new TransactionScope(TransactionScopeOption.Suppress))
{
//this throws new Exception(string)
ThrowAnError("Scope 2 Error");
}
scope1.Complete();
}