Entity framework 实体框架核心迁移与identity db上下文
我已经设置了一个.net核心api应用程序,使用asp身份数据库托管JWT令牌身份验证。那部分效果很好。我的问题是,当我添加自定义类时,我执行的每一次迁移都试图再次创建AspNet*表,即使它们存在。迁移知道我的自定义类(Test)并希望创建它,但它尝试运行的脚本在AspNetRoles表上死亡(已存在错误) 我创建了一个新的迁移:Entity framework 实体框架核心迁移与identity db上下文,entity-framework,.net-core,entity-framework-core,asp.net-identity,asp.net-core-webapi,Entity Framework,.net Core,Entity Framework Core,Asp.net Identity,Asp.net Core Webapi,我已经设置了一个.net核心api应用程序,使用asp身份数据库托管JWT令牌身份验证。那部分效果很好。我的问题是,当我添加自定义类时,我执行的每一次迁移都试图再次创建AspNet*表,即使它们存在。迁移知道我的自定义类(Test)并希望创建它,但它尝试运行的脚本在AspNetRoles表上死亡(已存在错误) 我创建了一个新的迁移: Add-Migration NewMigration 然后更新: Update-Database 这是我的ApplicationDBContext.cs: pu
Add-Migration NewMigration
然后更新:
Update-Database
这是我的ApplicationDBContext.cs
:
public class ApplicationDBContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDBContext(DbContextOptions<ApplicationDBContext> options) : base(options)
{
}
// This is my custom class
public DbSet<Test> Test { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
}
迁移文件夹:
能否显示从7个内置的
ASP.NET核心标识
实体继承的类之一,即ApplicationUser
?另外,迁移文件夹的屏幕截图以及如何将此ApplicationDbContext
添加到主web项目也会很有帮助。编辑以添加ApplicationUser类(空)和迁移文件夹的屏幕截图。我手动将ApplicationDbContext添加到Api项目中。我也手动创建了DbContext。这应该没有问题。您是否在Startup.cs时使用了services.additionity(…)
来注册标识服务?您是否碰巧操纵或删除了您的\u MigrationHistory
表?尝试我看你当前的代码没有问题。我删除了数据库,并按照Christian的建议开始清理,现在一切正常。一定有什么东西不同步了。幸运的是,数据库中还没有任何数据。如果你把它贴出来,我会投票给你。
public class ApplicationUser : IdentityUser
{
}