我有两张桌子:公寓和图像,桌面图像在桌子公寓有外键。 如何使用事务单元插入LINQ(C#)并获取该主键(apartment.id是自动增量)所以我可以在与真实外键相同的事务中的图像中插入记录?
答案 0 :(得分:1)
管理ID?这对ORM来说很有用。就这样做 - 单一交易,所有ID都没有问题。
Apartment newApartment = new Apartment();
newApartment.Images.Add(new Image());
newApartment.Images.Add(new Image());
newApartment.Images.Add(new Image());
newApartment.Images.Add(new Image());
myDataContext.Apartments.Add(newApartment);
myDataContext.SubmitChanges();
答案 1 :(得分:0)
答案 2 :(得分:0)
using(var ts = TransactionScope())
{
yourContext.SubmitChanges();
ts.Complete();
}
我现在不在我的电脑上,所以我不是百分百肯定,但它应该是那样的。
答案 3 :(得分:0)
在TransactionScope
:
using(var tx = new TransactionScope())
using(var db = new MyDataContext()) {
// query db, insert records, etc.
db.SubmitChanges();
tx.Complete();
}
请注意,如果您还没有,则需要配置DTC。说明书的操作系统会有所不同(这不是一个编程问题所以我会留下它)。