Как создать guid для изменения идентификатора пользователя, чтобы при вставке файлов он не дублировался? - PullRequest
0 голосов
/ 15 октября 2019

Как изменить идентификатор пользователя с помощью Guid каждый раз, когда пользователь хочет вставить файлы в базу данных, чтобы предотвратить нарушение первичного ключа (дублирование первичного ключа), идентификатор пользователя является первичным ключом?

public System.Guid userid { get; set; }Производит этот 00000000-0000-0000-0000-000000000000

Ответы [ 2 ]

1 голос
/ 15 октября 2019

Вам это не мешает. СУБД и только СУБД отвечает за создание значений первичного ключа и поддержание его ограничений. Делать это в своем клиенте просто ужасно не получится. Таким образом, вы столкнетесь сначала с гонкой.

Если вам нужен ключ чего-то, что вы только что вставили, SQL на самом деле имеет синтаксис OUTPUT . Однако я помню, что другие СУБД не имели ничего похожего. Но обычно вы можете сделать что-то, используя хранимый эквивалент функции и достаточно широкую транзакцию / блокировку.

В качестве примечания стоит упомянуть, что существует 3 способа для сохранения BLOBS с /в БД. Я не могу точно сказать, какой из 3 вы используете.

0 голосов
/ 15 октября 2019

Вам просто нужно установить значение идентификатора пользователя

userid = Guid.NewGuid();
...