我是ASP.NET Core MVC和EF的新手。我创建了一个CatchmebgUser
,它继承了IdentityUser
。我在CatchmebgUser
中为照片添加了一个自定义字段,并应用了迁移。
现在我有两个表:AspNetUsers
和CatchmebgUser
。
使用User对象时,我是从AspNetUsers
表中获取数据的,直到我将此行添加到CatchmebgContext
为止:
builder.Entity<CatchmebgUser>().ToTable("CatchmebgUser");
是否有摆脱AspNetUsers
表的方法,或者我应该为用户提供两个单独的表?
答案 0 :(得分:2)
如果您从User
继承自定义IdentityUser
类型,则必须改用IdentityDbContext
的派生版本,该版本允许您为用户,角色和主键指定这种具体类型在整个身份框架中使用:
public class MyDbContext : IdentityDbContext<CatchmebgUser, IdentityRole, string>
{
...
}
通过这种方式,您不必为类型添加builder.Entity<CatchmebgUser>().ToTable("CatchmebgUser")
配置,因为上下文将自动为DbSet<CatchmebgUser>
属性使用Users
。