我有一個主鍵(int自動增量)的客戶表和一個地址表與客戶表的外鍵。我試圖在一個很好的事務中將兩行插入到數據庫中。使用Linq2Sql插入數據到多個表使用自動遞增的主鍵
using (DatabaseDataContext db = new DatabaseDataContext())
{
Customer newCustomer = new Customer()
{
Email = customer.Email
};
Address b = new Address()
{
CustomerID = newCustomer.CustomerID,
Address1 = billingAddress.Address1
};
db.Customers.InsertOnSubmit(newCustomer);
db.Addresses.InsertOnSubmit(b);
db.SubmitChanges();
}
當我運行此我希望客戶和地址表自動與數據庫中的正確的鑰匙,因爲上下文知道這是一個自動遞增的關鍵,並會做兩個插入用兩個表在右側鍵。
我可以得到這個工作的唯一方法是首先對Customer對象執行SubmitChanges(),然後創建地址並對其執行SubmitChanges()。這將創建兩個往返數據庫,我想看看我是否可以在一個事務中做到這一點。可能嗎?
感謝