我创建了一个自定义应用程序用户,我在身份存储/用户管理器/等中使用它。但无论我做什么,它都会继续尝试利用
AspNetUsers
表,而不是从迁移生成的 ApplicationUser
表。
Program.cs
:
builder.Services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true)
.AddSignInManager<SignInManager<ApplicationUser>>()
.AddRoles<IdentityRole>()
.AddRoleManager<RoleManager<IdentityRole>>()
.AddDefaultTokenProviders()
.AddEntityFrameworkStores<CoreContext>();
ApplicationUser.cs
:
public class ApplicationUser : IdentityUser<string>
{
public int? TestValue { get; set; }
}
在我的
HomeController
:
public HomeController(UserManager<ApplicationUser> userManager)
{
_userManager = userManager;
}
索引方法:
public IActionResult Index()
{
var test = _userManager.Users.ToList();
var user = await _userManager.FindByEmailAsync('[email protected]'); //user exists in SQL table
return View();
}
我清除了我的
AspNetUsers
表,但没有清除我的 ApplicationUser
SQL 表,即使我使用 AspNetUsers
,它仍然尝试从 UserManager<ApplicationUser>
中提取数据。
如有任何帮助,我们将不胜感激。
我尝试使用
ApplicationUser
类覆盖 ASP.NET Identity 类。我希望从适当的表中提取数据。
解决方案是致电
b.Entity<ApplicationUser>.ToTable("ApplicationUser")