SqlConnection cn = new SqlConnection(connString);
//兩個DataContext共用同一條Connection
Northwind dbA = new Northwind(cn);
Northwind dbB = new Northwind(cn);
//設定DataContext.Transaction
cn.Open();
DbTransaction trn = cn.BeginTransaction();
dbA.Transaction = trn;
dbB.Transaction = trn;
var order1 = (
from o in dbA.Orders
where o.OrderID == 10248
select o).First();
order1.ShipPostalCode = DateTime.Now.ToString("HHmmss");
var order2 = (
from o in dbB.Orders
where o.OrderID == 10249
select o).First();
order2.ShipPostalCode = DateTime.Now.ToString("HHmmss");
//若這裡才設定Transaction,則SELECT時不會包Transaction
//dbA.Transaction = trn;
//dbB.Transaction = trn;
dbA.SubmitChanges();
dbB.SubmitChanges();
//故意Rollback(白忙一場XD)
trn.Rollback();
cn.Close();