我最近更新了asp.net身份,现在我无法登录,因为它说它需要新字段,所以我尝试重新创建表,而表用户似乎有一些额外的字段,我基本上不需要。
这些字段是:phonenumber,phonenumberconfirmed,twofactorenabled等等......我怎么能禁用那些恶魔并对asp.net身份说甚至不寻找它们?因为如果我删除它们,那么我会收到错误,说它无法找到这些字段。
答案 0 :(得分:3)
您可以通过忽略DbContext类中的映射来禁用不需要的字段。例如,如果您不想使用PhoneNumber和PhoneNumberConfirmed,您可以在ApplicationDbContext中忽略它们,如下所示
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ApplicationUser>().Ignore(x => x.PhoneNumber);
modelBuilder.Entity<ApplicationUser>().Ignore(x => x.PhoneNumberConfirmed);
}
请注意,不映射这些字段会导致不使用使用它们的API,从而错过了这些功能。
答案 1 :(得分:0)
实现您想要的一种方法是,您需要实现自己的自定义用户存储类,例如IdentityUser
,UserStore
等...您可以找到更多信息here。