Если вы используете сгенерированные БД идентификаторы (например, IDENTITY в MS SQL), вам просто нужно добавить сущность в ObjectSet и SaveChanges для связанного ObjectContext. Идентификатор будет автоматически заполнен для вас.
using (var context = new MyContext())
{
context.MyEntities.AddObject(myNewObject);
context.SaveChanges();
int id = myNewObject.Id;
}
За каждой вставкой с платформой Entity следует Select SCOPE_IDENTITY (), которая возвращает автоматически сгенерированный Id для вновь вставленной записи.
Однако вы не можете получить автоматически сгенерированный Id, прежде чем сохранить изменения в БД. Если вы хотите сделать все это за одну транзакцию, я могу предложить вам вставить записи в БД, написав пользовательскую хранимую процедуру с использованием транзакции.