我正试图摆脱代码优先迁移。
问题在于AspNetUsers正在扩展IdentityUser。因此,当我尝试使用DbContext时,我会收到以下错误。
我想将AspNetUsers用于两个目的:
是否可以在不使用IdentityDbContext的情况下使用此路线?
public class MyEntities : DbContext
{
public DbSet<AspNetUsers> AspNetUsers { get; set; }
}
答案 0 :(得分:2)
您无需添加
public DbSet<AspNetUsers> AspNetUsers { get; set; }
从IdentityDbContext继承您的上下文,只有一个上下文
public class MyEntities : IdentityDbContext<AspNetUsers>
也不要忘记设置UserManager以使用AspNetUsers的MyEntities上下文
答案 1 :(得分:1)
标识上下文继承自DBContext。因此,只要您自己的db上下文继承自身份上下文,它就足够了。如下所示: -
public class MyDbContext : IdentityContext {}
答案 2 :(得分:1)
您可以避免使用IdentityDbContext,但您需要在DbContext类中的OnModelCreating方法中自己设置映射。
但是,如果您正在使用SignInManager等。我建议您使用IdentityDbContext。您不必使用代码优先迁移。