如何正确填写表格?创建了自定义 IdentityUser,创建了 AccountDatabase.mdf,似乎我创建了正确的 IdentityDbContex(一切如下例所示)
public class ApplicationUser : IdentityUser
{
[Display(Name="Full Name"),Required]
public string FullName { get; set; }
[Display(Name = "Rang"), Required]
public string Rang { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Обратите внимание, что authenticationType должен совпадать с типом, определенным в CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Здесь добавьте утверждения пользователя
return userIdentity;
}
}
public class AccountContext: IdentityDbContext<ApplicationUser>
{
public AccountContext() : base("AccountDatabase")
{ }
DbSet<ApplicationUser> ApplicationUsers { get; set; }
DbSet<SettingModel> SettingModels { get; set; }
}
如何正确创建表 AccountDatabase?然后在创建新用户时它说:
Несколько наборов объектов на тип не поддерживаются. Наборы объектов "ApplicationUsers" и "Users" могут оба содержать экземпляры типа "ExampleCustomUserAndRole.Models.ApplicationUser".
只是划掉这条线
不需要,因为。你已经表明了
AccountContext: IdentityDbContext<ApplicationUser>。您可以用最简单的方式“填写”表格:通过网站注册。因为 你有所有额外的东西。字段是(到目前为止)字符串,它们只是空的。
当然,最好的方法是修复用户注册时调用的 AccountManager 控制器操作 Register。至少只需在这些字段中填写一些常量,或者在 RegisterViewModel 模型和 Register.cshtml 视图中更正这些字段的输入。