我想知道是否有人可以帮我解决以下问题...
我创建了一个使用Identity v2的EF代码第一个数据库(sqlexpress) - 我可以在该数据库中查看我的所有模型,包括以Identity *开头的Identity相关表(即IdentityUserClaims,IdentityUserLogins,IdentityUserRoles IdentityRoles& IdentityUsers)。
然后,我创建了一个全新的MVC项目,并添加了相同的连接字符串。当我注册一个新用户时 - 由于某种原因,它会启动并创建以AspNet *开头的Identity v2表(即AspNetUserClaims,AspNetUserLogins,AspNetUserRoles AspNetRoles和AspNetUsers)。[我正在使用...... EF 6.1.1,Identity 2.1,MVC 5.2]
为什么EF和AspNet之间的身份命名架构不同?如何让MVC使用EF模式Identity *?
答案 0 :(得分:0)
您可以在类的顶部按[Table("MyUsers")]
属性覆盖表名:
[Table("WhateverILikeUsers")]
public class ApplicationUser : IdentityUser
{
}
或者您可以在DbContext中重命名表:
public class MyContext : IdentityDbContext<ApplicationUser>
{
// other stuff
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<ApplicationUser>().ToTable("HelloIdentity");
}
}