在一个批次中插入和更新标识

时间:2012-01-03 14:26:29

标签: linq identity master-detail

我有一个详细的主要情况,我想在表“A”中插入记录,该记录具有自动增量主键。在表“A”中插入时,我想将Identity密钥更新为表“B”作为参考。

众所周知,我们使用SQL中的@@ Identity在存储过程中执行此操作。

所以我想在Linq中做同样的事情,但无法弄清楚如何。

我已粘贴以下代码。这是给出了期望的结果,但是在两个不同的SubmitChanges中。我认为最终会有两个不同的数据库ping。

有人可以建议一些更好的方法来做到这一点。

using (DB _db = ne DB())
{
 Product p = new Product { Name = "New Product", Description = "Black Berry" };

 _db.Products.InsertOnSubmit(p);

_db.SubmitChanges();

   Order o = (Order)(from order in _db.Orders
              where order.ID == 1
              select order).SingleOrDefault();

o.ProductID = p.ID;

_db.SubmitChanges();
}

0 个答案:

没有答案