我有一个主键(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()。这将创建两个往返数据库,我想看看我是否可以在一个事务中做到这一点。可能吗?
感谢