Linq与交易

时间:2010-11-14 12:02:19

标签: c# linq

我有两张桌子:公寓和图像,桌面图像在桌子公寓有外键。 如何使用事务单元插入LINQ(C#)并获取该主键(apartment.id是自动增量)所以我可以在与真实外键相同的事务中的图像中插入记录?

4 个答案:

答案 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)

TransactionScope

的实例中执行所有操作

答案 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。说明书的操作系统会有所不同(这不是一个编程问题所以我会留下它)。

相关问题