次の方法で共有


方法 : データ送信をトランザクションで囲む (LINQ to SQL)

更新 : November 2007

データベースへの送信を TransactionScope で囲むことができます。詳細については、「トランザクション (LINQ to SQL)」を参照してください。

使用例

次のコードでは、データベース送信を TransactionScope で囲みます。

Dim db As New Northwnd("c:\northwnd.mdf")
Using ts = New TransactionScope()
    Try

        Dim prod1 = db.Products.First(Function(p) p.ProductID = 4)
        Dim prod2 = db.Products.First(Function(p) p.ProductID = 5)
        prod1.UnitsInStock -= 3
        prod2.UnitsInStock -= 5
        db.SubmitChanges()

    Catch e As Exception
        Console.WriteLine(e.Message)
    End Try
End Using
Northwnd db = new Northwnd(@"c:\northwnd.mdf");
using (TransactionScope ts = new TransactionScope())
{
    try
    {
        Product prod1 = db.Products.First(p => p.ProductID == 4);
        Product prod2 = db.Products.First(p => p.ProductID == 5);
        prod1.UnitsInStock -= 3;
        prod2.UnitsInStock -= 5;
        db.SubmitChanges();
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
}

参照

概念

サンプル データベースのダウンロード (LINQ to SQL)

トランザクション (LINQ to SQL)

その他の技術情報

データの変更と変更の送信 (LINQ to SQL)