Поиск пропущенных значений в таблице MS SQL C#

Подскажите, пожалуйста, как решить такую задачу. Есть таблица примерного вида: table_1

С наполнением примерно таким: table_2

У меня есть метод для автоматического присвоения номера в поле CerNambe

public string CerNamber()
    {
        var cer = DBContext.Certificate.Where(p => p.CerNambe != null).OrderByDescending(p => p.Id).FirstOrDefault();
        string _cer = cer.CerNambe;
        int outCer = Convert.ToInt32(_cer.Substring(0, _cer.IndexOf('-')));
        String newCer = Convert.ToString(outCer + 1 + "-P/" + DateTime.Now.Year);
        return newCer;
    }

Но я столкнулся с проблемой. Если номер пользователем присвоен ошибочно он удаляется, а нумерация нарушается. Вот вопрос: Как сделать найти это нарушение и присвоить для следующей записи пропущенный номер. Но в таком случае автоматически нумеровать не получится? Так как в методе идет поиск последняя запись!


Ответы (0 шт):