У меня возник вопрос о поведении Entity Framework при выполнении метода SaveChanges
.Entity Framework SaveChanges Отказоустойчивый идентификатор столбца
У меня есть объект, который имеет Удостоверение Column, и просто понять, что, когда, если я называю SaveChanges
(для новой вставки), и это не удается, тогда мой стиль столбец в моей БД увеличивается.
Я имел обыкновение иметь значение столбца Identity равным 7, и я отлаживал свой код, а метод SaveChanges
не удался 5 раз, потому что я пропустил вставить нужное значение, и когда он сработал, я заметил, что значение моего идентификационного столбца было Сейчас 13.
это нормальное поведение? Есть ли способ избежать увеличения значения столбца идентификатора, когда Entity Framework не сможет выполнить фиксацию в моей БД?
Цените помощь
Это не связано с EF, когда какая-либо вставка терпит неудачу в таблице с идентификатором, она все равно увеличивается, просто попробуйте это в студии управления sql. Какое тебе дело? –
Хорошо интересно. Есть ли способ избежать этого поведения или что-то нормальное? – VAAA
Я так не думаю, его особенность дизайна. Представьте, что начата длинная транзакция, затем начинается другая транзакция, было бы плохо, если бы второй пришлось ждать, чтобы убедиться, что первая успешно или нет, чтобы определить, какую идентификацию она должна использовать. Как я упоминал ранее, почему вам все равно, если ваши идентификаторы не являются последовательными? –