В то время как класс 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)
Я уверен, что нуждаюсь в упомянутом автоинкрементном идентификаторе типа Столбец и пытаюсь связать то же самое с некоторыми другими таблицами, чтобы записать идентификатор пользователя для любой простой ссылки.
Любое решение и / или более рекомендуемый совет?
Заранее спасибо.