首先,這不會是關於數據庫事務的文章。我想知道更多關於.NET 2.0和更高版本中的TransactionModel。由於我正在開發針對.NET 3.5的更新模型。現在在C#中的交易#
,我想acheive是像下面
public void Withdraw(double amount)
{
using (TransactionScope scope = new TransactionScope())
{
Money -= amount;
if (Money > 0)
scope.Complete();
}
}
這意味着,當這些錢是小於0,則TransactionScope
裏面一切都應該是RolledBack,然而,事實並非如此。
一個簡單的測試作爲遵循
ImportantObject obj = new ImportantObject(1);
Console.WriteLine(obj.Money);
obj.Withdraw(101);
Console.WriteLine(obj.Money);
前提是Stadard金額爲100
難道我錯過這裏的東西,或者這是不是交易應如何工作的?使用這種模型的性能損失是多少?
似乎這是我一直在尋找。謝謝。 – 2010-01-07 14:27:03