Хотя здесь было несколько хороших предложений, я пришел к выводу о нескольких вещах, работая над решением этого вопроса. Раскрытие, что база данных была MySQL, возможно, помогло бы здесь, но я не понимал, что тогда разница будет настолько существенной. На самом деле, в MySql нет блокировки на вставку в первичный ключ с автоинкрементом. В результате этот код работает для вставки записи с первичным ключом, который меньше текущего значения индекса автоинкремента:
var sql = @"INSERT INTO Work (
WorkId ,
LotId ,
Description ,
)
VALUES (
'5', '5', 'This Works'
);";
using (var db = new Context())
{
db.Database.ExecuteSqlCommand(sql);
}
Правильная вставка записи с индексом 5, даже если текущий счетчик автоматического приращения равен 11.