Шаблон, который вы используете для сохранения пустой записи просто для получения идентификатора, не очень хороший.
Стандартный подход, который я бы порекомендовал, предназначен для создания.Запись, чтобы просто отобразить пустую форму (идентификатор в этой точке обычно будет 0).Пользователь заполняет форму, и данные передаются в базу данных только тогда, когда пользователь нажимает кнопку Сохранить.Идентификатор должен быть столбцом IDENTITY.
Проблема с вашим подходом состоит в том, что, если пользователи не заполняют форму, в вашей базе данных останется много неполных записей.И, конечно, это значительно усложняет проверку и целостность данных.
Альтернативный подход, если вы действительно должны отобразить идентификатор для пользователя, - это иметь отдельныйтаблица, содержащая строку со столбцом «Следующая запись».Этот столбец может быть увеличен и возвращен как элементарная операция и использован для заполнения идентификатора вашей новой записи.Вы по-прежнему не создаете реальную запись, просто увеличиваете этот «ID следующей записи» в действии «Создать запись».Используя этот подход, вы можете использовать один и тот же подход для нескольких сущностей, имея отдельные строки для каждой в этой таблице «Идентификаторы записи».Имейте в виду, что если пользователь в конечном итоге не сохранит запись в базе данных, идентификатор все равно будет «израсходован».Числа все равно будут уникальными и будут хронологическими, но не обязательно будут смежными.