Для IdentityUser требуется дополнительное автоинкрементное ID-подобное свойство (ASP-Core 2.1) - PullRequest
0 голосов
/ 03 июля 2018

В то время как класс IdentityUser по умолчанию приводит к сложному Id, я стремлюсь добавить дополнительное простое значение Id-Type для пользователя, для внутреннего использования, например, Автоинкрементный номер.

Единственная идея, которая мне пришла в голову, это настроить IdentityUser для добавления свойства для того же типа:

public class MyUser : IdentityUser
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int MyUserNo { get; set; }
}

То же самое удалось в форме установки дополнительного свойства MyUserNo в таблице AspNetUsers по умолчанию. Однако, когда я приступил к реализации стратегии подтверждения адреса электронной почты для нового пользователя, после нажатия на ссылку, полученную на адрес электронной почты указанного пользователя с той же целью, вместо подтверждения указанной учетной записи и обновления статуса EmailConfirmed на True, я я столкнулся со следующей ошибкой:

SqlException: невозможно обновить столбец идентификаторов «MyUserNo». System.Data.SqlClient.SqlCommand + <> c.b__122_0 (Результат задачи) System.Threading.Tasks.ContinuationResultTaskFromResultTask.InnerInvoke () System.Threading.ExecutionContext.RunInternal (ExecutionContext executeContext, обратный вызов ContextCallback, состояние объекта) System.Threading.Tasks.Task.ExecuteWithThreadLocal (ref Task currentTaskSlot) Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteAsync (соединение IRelationalConnection, DbCommandMethod executeMethod, параметр IReadOnlyDictionaryValues, CancellationToken cancellationToken) Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync (соединение IRelationalConnection, CancellationToken cancellationToken)

Я уверен, что нуждаюсь в упомянутом автоинкрементном идентификаторе типа Столбец и пытаюсь связать то же самое с некоторыми другими таблицами, чтобы записать идентификатор пользователя для любой простой ссылки.

Любое решение и / или более рекомендуемый совет?

Заранее спасибо.

...