Идентификация будет сгенерирована только при вызове SubmitChanges, поэтому указанный подход является жизнеспособным вариантом.
Однако вы можете установить объект FK, а не ID для другого объекта и LINQ дляSQL сработает для вас.
EG: Если TableA.TableBID является FK to TableB.TableBID, то вы имеете в виду:
TableB b = new TableB();
context.TableB.InsertOnSubmit(b);
context.SubmitChanges();
TableA a = new TableA();
a.TableBID = b.TableBID;
context.TableA.InsertOnSubmit(a);
context.SubmitChanges();
Но вы можете сделать это водин запрос, установив объект для FK следующим образом:
TableB b = new TableB();
context.TableB.InsertOnSubmit(b);
TableA a = new TableA();
a.TableB = b;
context.TableA.InsertOnSubmit(a);
context.SubmitChanges();
, что не намного короче в коде в этом примере, но допускает только 1 место, где вы фиксируете, что обычно является хорошимвещь конструктивно.