Вставить и обновить идентичность в одной партии - PullRequest
0 голосов
/ 03 января 2012

У меня есть основная деталь ситуации, когда я хотел вставить запись в таблицу "A", которая имеет первичный ключ с автоинкрементом.При вставке в таблицу «A» я хотел обновить ключ идентификации в таблице «B» в качестве ссылки.

Как всем известно, мы используем это в хранимых процедурах, используя @@ Identity в SQL.

Так что я хотел сделать то же самое в Linq, но не мог понять, как.

Я вставил код ниже.Это дает желаемый результат, но в двух разных SubmitChanges.Который я предполагаю, заканчивая с двумя различными пингами базы данных.

Может кто-нибудь, пожалуйста, предложите лучший способ сделать это.

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