Сохранение данных в таблице базы данных - первичный ключ не увеличивается, а получает число из четырех чисел git - PullRequest
0 голосов
/ 04 мая 2020

Я работаю над проектом, где ASP. NET Ядро на стороне сервера, а ANGULAR 8 на стороне клиента. Я дошел до того, что при отправке данных в базу данных происходит странное поведение.

Я сделал функцию «Сохранить нового пользователя», и все работало хорошо. Новый пользователь записывается в базу данных, и его идентификатор, который является первичным ключом, увеличивается. Например (последний пользователь в таблице «Users» имел Id 10, новый пользователь получил Id 11). Все тестируется с почтальоном и с клиентского Angular кода.

Затем я добавил функциональность "Обновить пользователя". Эта функциональность также работала нормально, но теперь, когда я сохраняю нового пользователя в db, Id получает некоторое значение 4 * di git (последний пользователь в таблице «Users» имел Id 11, новый пользователь получил Id 1020). Это не происходит в Почтальоне, а только в Angular коде.

Я диагностировал, где проблема, но я действительно не понимал, почему это произошло.

Когда у меня есть только функция «Сохранить нового пользователя», все в порядке.

.ts code

save() {
    this.service.addUser(this.newuserForm.value)
        .subscribe(x => {
            this.newuserForm.markAsPristine();
            this.router.navigate(['users']);
         });
}

Но когда я добавляю функцию обновления, проблема, которую я объяснил, это повышение .

.ts code

 save() {
   let result;

    if (this.id) {
      result = this.service.updateUser(this.id, this.newuserForm.value);
    } else {
      result = this.service.addUser(this.newuserForm.value);
    }

    result.subscribe(x => {
      this.newuserForm.markAsPristine();
      this.router.navigate(['users']);
    });
}

Может ли кто-нибудь объяснить такое поведение? Подводя итоги: вышеописанная функция save () создает проблемы, но при использовании кода, подобного приведенному ниже, проблем не возникает.

save() {
    if (this.id) {
        this.service.updateUser(this.id, this.userForm.value)
            .subscribe(x => {
                this.userForm.markAsPristine();
                this.router.navigate(['users']);
            });
    } else {
        this.service.addUser(this.userForm.value)
            .subscribe(x => {
                this.userForm.markAsPristine();
                this.router.navigate(['users']);
            });
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...