/// <summary> /// Using Transaction Scope. OK /// </summary> private void Transactions2() { var dc = new NorthwindDataContext(); var custId = "ALFKI"; //Retrieve Customer var customer = dc.Customers.SingleOrDefault(c => c.CustomerID == custId); if (customer == null) { string.Format("Customer: [{0}] does NOT exist!").DisplayResults(); return; } //Get Latest Customer Order var order = customer.Orders.OrderByDescending(o => o.OrderID).FirstOrDefault(); //Open transaction Scope using (var transScope = new System.Transactions.TransactionScope()) { try { //Delete Details foreach (var detail in order.Order_Details) { dc.DeleteOrderDetail(detail.OrderID, detail.ProductID); } //Delete Order dc.DeleteOrder(order.OrderID); //Commit Transaction transScope.Complete(); } catch (Exception ex) { "Exception".DisplayHeader(); ex.Message.DisplayResults(); } } //Show Customer Orders Display.ShowCustomerOrders(dc, custId); }