penso, questo può risolvere il problema:
In modelle \ IdentityModels.cs è possibile ridefinire il proprio modello User:
public class ApplicationUser : IdentityUser
{
/* identity field from database */
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
[Required]
public bool Internal { get; set; }
public string UserFullName { get; set; }
public string UserEmail { get; set; }
public ApplicationUser()
: base()
{
Internal = false;
}
public ApplicationUser(string userName)
: base(userName)
{
Internal = false;
}
}
ora è possibile modificare la mappatura dei default Tabelle AspNet che utilizzano OnModelCreating() overridding e ToTable() metodo:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// Change the name of the table to be Users instead of AspNetUsers
modelBuilder.Entity<IdentityUser>().ToTable("User");
modelBuilder.Entity<ApplicationUser>().ToTable("User");
modelBuilder.Entity<IdentityRole>().ToTable("Role");
modelBuilder.Entity<IdentityUserClaim>().ToTable("User_Claim");
modelBuilder.Entity<IdentityUserLogin>().ToTable("User_Login");
modelBuilder.Entity<IdentityUserRole>().ToTable("User_Role");
}
}
Infine si vedrà nel database seguenti tabelle: utente, Ruolo, USER_ROLE, User_Claim, user_login invece di AspNetUsers, AspNetRoles, AspNetUsersRoles, AspNetUsersClaims, AspNetUserLogins.
Naturalmente il utente tabella contiene campi aggiuntivi: UserId (int identità), interno, UserFullName e UserEmail.
fonte
2015-02-01 14:20:14
Mi piacerebbe molto vedere un esempio. Ho provato a implementare il mio, ma ho avuto alcuni problemi di identità di reclamo, causando il fallimento di AntiFogeryToken. Accade quando utilizzo Microsoft.AspNet.Identity.IUser per la mia classe utente. – Martin
@Hao Kung, mi piacerebbe vedere un esempio dall'alto verso il basso. Voglio anche evitare la nuova tabella per "MyUsers". Potresti per favore includere ruoli con campi personalizzati nell'esempio? – KidCoke
@Hao Kung, forniresti un esempio? – RezaRahmati