首页 > Web开发 > 详细

ASP.NET MVC 5 Identity 默认表映射修改

时间:2015-10-23 18:26:23      阅读:562      评论:0      收藏:0      [点我收藏+]

protected override void OnModelCreating(DbModelBuilder modelBuilder)

{

if (modelBuilder == null)

{

throw new ArgumentNullException("modelBuilder");

}

?

var user = modelBuilder.Entity<IdentityUser>()

.ToTable("Users");

user.HasMany(u => u.Roles).WithRequired().HasForeignKey(ur => ur.UserId);

user.HasMany(u => u.Claims).WithRequired().HasForeignKey(uc => uc.UserId);

user.HasMany(u => u.Logins).WithRequired().HasForeignKey(ul => ul.UserId);

user.Property(u => u.UserName)

.IsRequired()

.HasMaxLength(256)

.HasColumnAnnotation("Index", new IndexAnnotation(new IndexAttribute("UserNameIndex") { IsUnique = true }));

?

user.Property(u => u.Email).HasMaxLength(256);

?

modelBuilder.Entity<IdentityUserRole>()

.HasKey(r => new { r.UserId, r.RoleId })

.ToTable("UserRoles");

?

modelBuilder.Entity<IdentityUserLogin>()

.HasKey(l => new { l.LoginProvider, l.ProviderKey, l.UserId })

.ToTable("UserLogins");

?

modelBuilder.Entity<IdentityUserClaim>()

.ToTable("UserClaims");

?

var role = modelBuilder.Entity<IdentityRole>()

.ToTable("Roles");

role.Property(r => r.Name)

.IsRequired()

.HasMaxLength(256)

.HasColumnAnnotation("Index", new IndexAnnotation(new IndexAttribute("RoleNameIndex") { IsUnique = true }));

role.HasMany(r => r.Users).WithRequired().HasForeignKey(ur => ur.RoleId);

}

ASP.NET MVC 5 Identity 默认表映射修改

原文:http://www.cnblogs.com/BlueEye/p/4904873.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!