Уникальные индексы будут работать. Это позволило бы только одну запись. В качестве альтернативы вы можете установить в коде блокировку, проверить наличие записи с этим идентификатором, если запись существует, избежать вставки и уведомить пользователей о проблеме. Но если ноль, тогда вы продолжаете вставку.
РЕДАКТИРОВАТЬ: блокировка может быть настроена как:
public static object _lock = new object();
public void Save(..)
{
lock(_lock) {
//check for existence of an ID
//process accordingly
}
}
Часто рекомендуется выполнять проверку как до, так и после блокировки, поскольку после снятия блокировки предыдущий пользователь, возможно, сохранил запись, но вам также придется позаботиться о производительности базы данных, поэтому, возможно, просто сделайте это. внутри блокировки все в порядке ... вы также должны знать, что это задержит других пользователей, пытающихся сохранить запись в точке блокировки, и может повлиять на производительность вашего приложения, если база данных работает медленно ... должны знать.
НТН.