En primer lugar, esto no será una publicación sobre Transacciones de base de datos. Quiero saber más sobre el TransactionModel en .NET 2.0 y superior. Desde que estoy desarrollando contra .NET 3.5, se aprueban los modelos más nuevos.Transacciones en C#
Ahora, lo que me gustaría acheive es algo como lo siguiente
public void Withdraw(double amount)
{
using (TransactionScope scope = new TransactionScope())
{
Money -= amount;
if (Money > 0)
scope.Complete();
}
}
lo que significaría que cuando el dinero es menor que 0, todo dentro de la TransactionScope
debe ser retrotraído, sin embargo, no lo es.
Una prueba simple como seguido
ImportantObject obj = new ImportantObject(1);
Console.WriteLine(obj.Money);
obj.Withdraw(101);
Console.WriteLine(obj.Money);
A condición de que la cantidad de dinero es Stadard 100.
¿Me he perdido algo aquí o se trata no cómo las transacciones deben trabajar? ¿Y cuáles son las pérdidas de rendimiento con este modelo?
Parece que esto es lo que he estado buscando. Gracias. –