次の方法で共有


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

データベースへの送信を 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()
        ts.Complete()

            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();
            ts.Complete();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }

参照

概念

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

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

その他の技術情報

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