Tôi nghĩ rằng, điều này có thể giải quyết vấn đề của bạn:
Trong Models \ IdentityModels.cs bạn có thể xác định lại mô hình tài chính của bạn:
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;
}
}
bây giờ bạn có thể thay đổi giá trị mặc định của bản đồ Bảng AspNet sử dụng OnModelCreating() ghi đè và ToTable() methode:
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");
}
}
Cuối cùng bạn sẽ thấy trong cơ sở dữ liệu các bảng sau: dùng, Vai trò, USER_ROLE, User_Claim, USER_LOGIN thay vì AspNetUsers, AspNetRoles, AspNetUsersRoles, AspNetUsersClaims, AspNetUserLogins.
Tất nhiên tài bảng sẽ chứa trường bổ sung: UserId (int identity), nội, UserFullName và useremail.
Nguồn
2015-02-01 14:20:14
Tôi thực sự muốn xem một ví dụ. Tôi đã cố gắng thực hiện của riêng tôi, nhưng kết thúc với một số vấn đề nhận dạng yêu cầu bồi thường, gây ra các AntiFogeryToken thất bại. Xảy ra khi tôi sử dụng Microsoft.AspNet.Identity.IUser cho lớp người dùng của riêng tôi. – Martin
@Hao Kung, tôi muốn xem ví dụ trên cùng. Tôi cũng muốn tránh bảng mới cho "MyUsers". Bạn có thể vui lòng bao gồm Vai trò với các trường tùy chỉnh trong ví dụ này không? – KidCoke
@Hao Kung, bạn có cung cấp ví dụ không? – RezaRahmati