虽然默认的IdentityUser类产生一个复杂的Id,但我试图为用户添加一个额外的简单Id-Type值,以供内部使用,例如自动递增编号。
我想到的唯一想法是自定义IdentityUser以添加如下属性:
public class MyUser : IdentityUser
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int MyUserNo { get; set; }
}
在默认的AspNetUsers表中设置MyUserNo的附加属性的方式同样成功。但是,当我继续为新用户实施电子邮件地址确认策略时,出于相同的目的单击该用户电子邮件中收到的链接,而不是确认该帐户并将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(参考Task currentTaskSlot) Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteAsync(IRelationalConnection连接,DbCommandMethod executeMethod,IReadOnlyDictionary参数值,CancellationToken cancelledToken) Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection连接,CancelationToken cancelToken)
我肯定需要上述自动递增的id类型Column,并寻求将其与其他表进行链接,以便记录用户的id,以方便参考。
有解决方案和/或更多建议的建议吗?
谢谢。