我试图摆脱代码优先迁移 .
问题是AspNetUsers正在扩展IdentityUser . 因此,当我尝试使用DbContext时,我得到以下错误 .
-
EntityType 'IdentityUserLogin'没有定义键 . 定义此EntityType的键 .
-
EntityType 'IdentityUserRole'没有定义键 . 定义此EntityType的键 .
我想将AspNetUsers用于两个目的:
-
身份管理 .
-
从数据库中查询用户 .
是否可以在不使用IdentityDbContext的情况下使用此路线?
public class MyEntities : DbContext
{
public DbSet<AspNetUsers> AspNetUsers { get; set; }
}
3 回答
你不需要添加
从IdentityDbContext继承您的上下文,只有一个上下文
也不要忘记设置UserManager以使用AspNetUsers的MyEntities上下文
身份上下文继承自DBContext . 因此,只要您自己的db上下文继承自身份上下文,它就足够了 . 如下: -
您可以避免使用IdentityDbContext,但需要在DbContext类中的OnModelCreating方法中自行设置映射 .
但是,如果您正在使用SignInManager等 . 我建议您使用IdentityDbContext . 您不限制使用代码优先迁移 .