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