初识 asp.net mvc(二)

1.登录进sqlserver后,数据库表名是自动生成的

 

2.我们可以覆盖基类的OnModelCreating方法,在方法中指定表名的映射,

在DbContext中覆盖基类的方法

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);

//Change the name of the table bo be users instead of aspnetusers
modelBuilder.Entity<IdentityUser>().ToTable("Users");
modelBuilder.Entity<ApplicationUser>().ToTable("Users");
modelBuilder.Entity<IdentityRole>().ToTable("Roles");
modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaims");
modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogins");
modelBuilder.Entity<IdentityUserRole>().ToTable("UserRoles");
}

3.这时运行程序提示进行数据迁移

4.打开工具-》NuGet包管理器-》程序包管理器控制台

输入 Enable-Migrations会自动生成文件夹Migrations

5.输入 Add-Migration ChangeTableName 回车,添加迁移文件

6.输入Update-Database 回车,更新数据库,这时发现报错,异常了,查看代码发现,RenameTable首先对表进行了重命名,然后又删除外键和索引,很明显这时的表明已经重命名了,无法根据表明查找到对应的外键和索引,调整顺序

 

 

 

 

 

重新运行Update-Database 表名更新成功!

 

 

posted @ 2017-03-07 21:45  天玄剑  阅读(184)  评论(0)    收藏  举报