如何:使用事务封闭数据提交 (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)