Поделиться через


Как объединить в пакеты отправку данных с помощью транзакций (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)