C#中的事务

use*_*964 6 c# methods transactions

除了这个问题:Preorder树遍历拷贝文件夹 我想知道是否有可能创建一个包含对数据库的不同调用的事务.

例如:

public bool CopyNode(int nodeId, int parentNode)
    { 
        // Begin transaction.
        try
        {
            Method1(nodeId);
            Method2(nodeId, parentNode);
            Method3(nodeId);
        }
        catch (System.Exception ex)
        { 
            //rollback all the methods
        }
    }
Run Code Online (Sandbox Code Playgroud)

我不知道这是否可行.我们使用亚音速来进行数据库调用.这非常重要,不仅适用于树遍历问题,还适用于我们所做的其他一些事情.

主要的想法是我们不能让我们的dabase被不完整的数据破坏.