2010-11-14 213 views
0

我有两个表:公寓和图像,表格图像有公寓的外键。 如何使用LINQ(C#)插入事务套件并获取该主键(apartment.id是自动增量),以便我可以在与真实外键相同的事务中的图像中插入记录?Linq与交易

+1

Linq用于查询。你可以通过插入Linq来举例说明你的意思吗? – 2010-11-14 12:25:55

+0

用linq在表格中插入新记录。 – Jelena 2010-11-14 12:31:07

+0

你能提供一些代码吗? – 2010-11-14 12:41:26

回答

0
using(var ts = TransactionScope()) 
{ 
    yourContext.SubmitChanges(); 
    ts.Complete(); 
} 

我不是在我的电脑现在,所以我不是100%肯定,但它应该是类似的东西。

0

TransactionScope执行的一切:

using(var tx = new TransactionScope()) 
using(var db = new MyDataContext()) { 
    // query db, insert records, etc. 
    db.SubmitChanges(); 
    tx.Complete(); 
} 

请注意,如果你还没有,你需要配置DTC。这些说明根据您的操作系统而有所不同(并且这不是一个真正的编程问题,所以我会留下它)。

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();